【发布时间】:2016-06-07 23:53:25
【问题描述】:
int levelBST(Node node,int key,int level){
if(node==null)
return;
if(node.data==key){
return level;
}
else if(node.data>key){
return levelBST(node->left,key,level+1);
}
else return levelBST(node-right,key,level+1);
}
上面的代码sn-p是正确的还是有一些问题。请帮忙。
【问题讨论】:
-
看起来不错。如果(节点==空)返回;这里返回-1,表示没有找到。
-
在采访中被问到。面试官说代码有一些错误。除了你上面写的东西。
-
您不需要将级别作为参数传递。它应该在每次调用时自动增加。例如 return levelBST(node->left,key)+1;在第一个 return 语句中它将是 0;
-
好的,我知道这是错字,但 node-right 是 node-> 对吧?
标签: algorithm recursion data-structures binary-search-tree