求二叉树的高度是很经典的方法吧。
这里给出我的不规范代码。。
int depth=0;
int max=0;
void preOrder(TreeNode* pRoot)
{
if(pRoot==NULL)
{
if(depth>max)
max=depth;
return;
}
depth+=1;
preOrder(pRoot->left);
preOrder(pRoot->right);
depth-=1;
}书上的代码
public int TreeDepth1(TreeNode pRoot)
{
if(pRoot == null){
return 0;
}
int left = TreeDepth1(pRoot.getLeft());
int right = TreeDepth1(pRoot.getRight());
return Math.max(left, right) + 1;
}


京公网安备 11010502036488号