public int maxDepth(TreeNode root) {
if(root == null) return 0;
return Math.max(maxDepth(root.left), maxDepth(root.right))+1
}
中间的递归(如maxDepth(root.left))是怎么产生深度数值。
———leetcode104 二叉树的最大深度
等到最底层返回的时候,return的结果会逐级+1。
int GetTreeHeight(pBinaryTreeNode node)
{
if (node == nullptr)
return 0;
int leftDeep = GetTreeHeight(node->lchild);//找左子树的最大深度
int rightDeep = GetTreeHeight(node->rchild);//找右子树的最大深度
return leftDeep > rightDeep ? leftDeep + 1 : rightDeep + 1;
}
关于求最大深度的介绍,可参考:
https://blog.csdn.net/weixin_43744293/article/details/116979667?spm=1001.2014.3001.5501