给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
借助递归把问题拆分
1+左子树的最大深度+右子树的最大深度 的最大值
1.空树,深度为0
2.只有一个根节点,没有左右子树,深度1
3.1 + max(左子树的深度+右子树的深度)
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public int maxDepth(TreeNode root) {
if(root == null){
return 0;
}
int leftDepth = maxDepth(root