我想知道是否有人可以帮我修改这个方法来找到二叉树的高度。到目前为止,我的代码如下所示。然而,我得到的答案是比实际高度大1。但是当我从我的return语句中删除+1时,它比实际高度小1。我仍然试图用这些BST来处理递归。任何帮助都将不胜感激。
public int findHeight(){
if(this.isEmpty()){
return 0;
}
else{
TreeNode<T> node = root;
return findHeight(node);
}
}
private int findHeight(TreeNode<T> aNode){
int heightLeft = 0;
int heightRight = 0;
if(aNode.left!=null)
heightLeft = findHeight(aNode.left);
if(aNode.right!=null)
heightRight = findHeight(aNode.right);
if(heightLeft > heightRight){
return heightLeft+1;
}
else{
return heightRight+1;
}
}
https://stackoverflow.com/questions/2597637
复制相似问题