输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
运用递归方法,很简单的解决这道问题
/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};*/
class Solution {
public:
int TreeDepth(TreeNode* pRoot)
{
if(pRoot==nullptr)
{
return 0;
}
return max(1+TreeDepth(pRoot->left) , 1+TreeDepth(pRoot-> right));
}
};

本文介绍了一种使用递归方法求解二叉树深度的算法。通过计算从根节点到叶节点的最长路径,得到树的最大深度。文章提供了一个简洁的C++代码示例,展示了如何实现这一算法。
559

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



