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);
}
以上代码段是否正确或存在一些问题。请帮忙。
答案 0 :(得分:0)
我会这样实现:(假设Node
是一个指针)
int levelBST(Node node, int key){
if(node==null)
return -1;
if(node->data < key){
return levelBST(node->right, key);
}
if(node->data > key){
return levelBST(node->left , key);
}
return 0;
}