版权声明:本文为博主原创文章,未经博主允许不得转载。
难度:容易
要求:
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。
样例给出一棵如下的二叉树:
1
/ \
2 3
/ \
4 5
这个二叉树的最大深度为3
.
思路:递归
/**
* Definition of TreeNode:
* public class TreeNode {
* public int val;
* public TreeNode left, right;
* public TreeNode(int val) {
* this.val = val;
* this.left = this.right = null;
* }
* }
*/
public class Solution {
/**
* @param root: The root of binary tree.
* @return: An integer.
*/
public int maxDepth(TreeNode root) {
// write your code here
if (root == null) {
return 0;
}
return getMax(root);
}
private int getMax(TreeNode node){
if (node == null) {
return Integer.MIN_VALUE;
}
if (node.left == null && node.right == null) {
return 1;
}
return Math.max(getMax(node.left), getMax(node.right)) + 1;
}
}