1.问题描述
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
Note: A leaf is a node with no children.
Example:
Given binary tree [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
return its depth = 3.
来自 <https://leetcode.com/problems/maximum-depth-of-binary-tree/description/>
2.题目分析
我们知道树的深度是根结点的左右子树中最大的深度+1,因此很容易用递归的方法求解。
3.c++代码
int maxDepth(TreeNode* p)
{
//postoder getdepth
int HL, HR, MaxH;
if (p != NULL)
{
HL = maxDepth(p->left);
HR = maxDepth(p->right);
MaxH =HL>HR?HL:HR;
return MaxH + 1;
}
else
return 0;
}