查找函數的遞歸的返回值是不是有點問題?
var searchNode = function(node,key){
if(node === null){
return false;
};
if(node.key > key){
searchNode(node.left,key);
}else if(node.key < key){
searchNode(node.right,key);
}else{
return true;
}
};
this.search = function(key){
var a =searchNode(root,key);
alert(a)
return searchNode(root,key);
};
老師,我也是這樣子的邏輯來寫,但是發現因為searchNode遞歸調用了,所以實際上return了N個值出去,只有第一個是true,其他全是undefined,請問老師你知道這是什么原因呢,我用debug發現return true后,searchNode還是會繼續調用,直到返回到最頂層。
2017-09-26
好吧,問題解決了,我沒寫return,遞歸的函數也要return