题目:
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的距离。
样例
给出一棵如下的二叉树:
1
/ \
2 3
/ \
4 5
这个二叉树的最大深度为3
.
感想:使用递归方法,先判断树是否为空,若为空,返回0;若不为空,计算以该点为根节点的左右子树的深度。最后返回左右子树中深度大的值加一。
代码如下:
int maxDepth(TreeNode *root) {
// write your code here
if (root == NULL)
{
return 0;
}
int l = maxDepth(root->left);
int r = maxDepth(root->right);
return (l > r) ? l + 1 : r + 1;
}
};