
解题思路就是遇见空节点返回0,其余的时候返回左右子树中高度的最大值,将这个最大值+1就是该树的高度。递归求解就可得出结果。
代码如下:
public int TreeHigh(TreeNode pRoot)
{
if(pRoot==null)//若二叉树为空,返回0
{
return 0;
}
int leftHigh=TreeHigh(pRoot.left);//若二叉树的高度不为空,求出左右子树的高度
int rightHigh=TreeHigh(pRoot.right);
if(leftHigh>=rightHigh)
{
return leftHigh+1;//当前二叉树的高度为左右子树最高的那个+1
}
return rightHigh+1;
}
本文介绍了一种递归计算二叉树高度的方法。当遇到空节点时返回0,否则返回左右子树中高度的最大值加1。通过递归调用此方法,可以准确计算出任意二叉树的高度。
2283

被折叠的 条评论
为什么被折叠?



