链接:LeeCode 104
题目:
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
思路:
1.如果根结点为空,则最大深度为0;
2.计算左子树的最大深度;
3.计算右子树的最大深度;
4.当前树的最大深度max=左子树的最大深度maxL和右子树的最大深度maxR中的较大者+1
class Solution {
public int maxDepth(TreeNode root) {
int max=0;
int maxL=0;
int maxR=0;
if(root==null){
return 0; //递归出口
}
//递归求左子树的最大深度
maxL=maxDepth(root.left);
//递归求右子树的最大深度
maxR=maxDepth(root.right);
if(maxR>maxL){
max=maxR+1;
}else{
max=maxL+1;
}
return max;
}
}