**题目描述:**输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
思路:首先,从根节点开始就是第一层,然后往下之后最深节点应该是左右子树的深度最大值。为空,返回0,不为空,返回1+左右子树最大深度
代码:
int TreeDepth(TreeNode* pRoot)
{
if(pRoot==nullptr)
return 0;
return 1+max(TreeDepth(pRoot->left),TreeDepth(pRoot->right));
}
分析:递归调用,遍历到极左节点开始计算。是后序遍历。
汝之宿命 发布了60 篇原创文章 · 获赞 2 · 访问量 7215 私信 关注