问答详情
源自:1-11 二叉树节点查找

换一种写法就是undefind

查询最小值时,我这样写的 var findMin = function(node){ if(node !== null){      if(node.left !== null){             findMin(node.left)       }else{           return node.key      } } }  为啥这样输出是undefind呢 求解

提问者:慕粉4273397 2017-09-19 15:29

个回答

  • weixin_慕的地2299751
    2020-08-12 13:41:29

    我试了下,如果按你这样写,要在调用的时候this.min = function(node) { return findMin(); }这里要写return!!

    另一种,参考另外一个评论区朋友写的:

    http://img1.mukewang.com/5f3380e900013f2710980504.jpg

  • 环球学习机
    2018-05-05 22:04:43

    因为你if语句没有return啊,只是else语句return了。这个问题很容易被忽略

  • qq_敏子_0
    2017-09-20 10:15:59

    if(node.left !== null)这个条件执行完之后,没有给node重新赋值,你的node一直都是root的值。