如果不用return searchNode(node.right, key);而用searchNode(node.right, key);返回的是undefined,谁可以解释一下

来源:1-11 二叉树节点查找

海盗小船雷小瑶

2018-06-24 11:02

var searchNode = function (node, key) {

if (node === null) {

return false;

}

if (key < node.key) {

return searchNode(node.left, key);

} else if (key > node.key) {

return searchNode(node.right, key);

} else {

return true;

}

}


写回答 关注

4回答

  • 每天学习一点丶
    2019-03-08 17:00:18

    JavaScript高级程序设计第三版67页,3.8小结:实际上未指定返回值的函数返回的是一个特殊的undefined值。

  • 慕粉4132002
    2018-11-13 08:46:55

    递归,顾名思义,递推和回归,如果只有函数调用,那么就只是递推了,必须要有return才是回归。

  • 迷失寂静岭
    2018-08-19 16:36:38

    你应该是函数内的search方法调用的searchNode吧,而你的search方法没有设置返回值,返回的就是undefined


  • 慕粉学渣粉
    2018-07-05 14:59:36

    你在 递归里面 必须return 啊 

Javascript实现二叉树算法

感受JS与数据结构的魅力。

46934 学习 · 97 问题

查看课程

相似问题