为了账号安全,请及时绑定邮箱和手机立即绑定

换一种写法就是undefind

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

正在回答

3 回答

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

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

http://img1.sycdn.imooc.com//5f3380e900013f2710980504.jpg

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

换一种写法就是undefind

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信