LeetCode求二叉树的最大深度
解题思路:采用后序遍历和递归的想法。依次遍历树的每一个节点。遍历到节点为空时,返回0;
然后判断两子树的深度取其最大值再加1。返回其深度值。
步骤
- 判断当前树是否为空,为空返0。
- 如果不为空,分别获取其左子树和右子树的长度。
- 获取其左右子树长度的最大值再加1。
- 返回其值。
代码:
class Solution {
public int maxDepth(TreeNode root) {
if(root==null){
return 0;
}else{
//递归
int rightDepth=maxDepth(root.left)+1;
int leftDepth=maxDepth(root.right)+1;
//取左右子树的深度的最大值
return Math.max(leftDepth,rightDepth);
}
}
}