题目描述
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
题解:
简单的深度遍历即可。
class Solution {
public:
int TreeDepth(TreeNode* pRoot)
{
if (pRoot == nullptr)return ;
//深度优先遍历
DFS(pRoot, );
return maxLevel;
} private:
int maxLevel = -;
void DFS(TreeNode *pRoot, int level)
{
if (pRoot == nullptr)return;
maxLevel = maxLevel > level ? maxLevel : level;
DFS(pRoot->left, level + );
DFS(pRoot->right, level + );
}
};