查找函數(shù)的遞歸的返回值是不是有點問題?
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);
};
老師,我也是這樣子的邏輯來寫,但是發(fā)現(xiàn)因為searchNode遞歸調(diào)用了,所以實際上return了N個值出去,只有第一個是true,其他全是undefined,請問老師你知道這是什么原因呢,我用debug發(fā)現(xiàn)return true后,searchNode還是會繼續(xù)調(diào)用,直到返回到最頂層。
2017-09-26
好吧,問題解決了,我沒寫return,遞歸的函數(shù)也要return