LintCode | 97. 二叉树的最大深度

题目

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的距离。

思路

最近开始在 lintcode 刷了一点题目,有些题目的思路不看答案难以想到,例如这道题目。这道题目的主要思路是递归:根节点的深度是左节点和右节点的最大深度 +1。依次对左节点和右节点递归,直到节点为 null,返回 0 即可。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Solution {
/**
* @param root: The root of binary tree.
* @return: An integer.
*/
public int maxDepth(TreeNode root) {
if (root == null) {
return 0;
}
int leftdepth = maxDepth(root.left);
int rightdepth = maxDepth(root.right);
return Math.max(leftdepth, rightdepth) + 1;
}
}