题目: 二叉树的最大深度
题号:104
难易程度:简单
题面:
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例1:
给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 .
题目意思:
返回这个二叉树最多的左子树或者右子树是多少。
题解:
题解:1、递归。分别递归左右子树,然后比较大小,用最大的值加1.,
public class LeetCode104 {
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode() {
}
TreeNode(int val) {
this.val = val;
}
TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
}
public int maxDepth(TreeNode root) {
if (root == null) {
return 0;
}
int countLeft = maxDepth(root.left);
int countRight = maxDepth(root.right);
return countLeft > countRight ? countLeft + 1 : countRight + 1;
}
}
结果: