在二叉搜索树中查找密钥的级别

时间:2016-02-25 09:34:54

标签: algorithm recursion data-structures binary-search-tree

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);
}

以上代码段是否正确或存在一些问题。请帮忙。

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;
}