Leecode104
题目
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
分析
首先,本题给了我们一个二叉树,要求我们返回二叉树得深度。没有什么特别得要求。因此我们可以想到二叉树的深度会等于左右子树两者的深度的最大值加一。所以可以联想到使用递归的方法。
解法
根据分析出的方法,我们可以想到若一个子树根节点为null则该子树的深度为0,由此可以得到递归的算法代码:
public class Solution
{
public int MaxDepth(TreeNode root)
{
if(root == null)
{
return 0;
}
else
{
int ldepth = MaxDepth(root.left);
int rdepth = MaxDepth(root.right);
return Math.Max(ldepth,rdepth)+1;
}
}
}
代码简单易懂。