题目描述
给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。
解题思路
根据题目给出函数,可以知道这个函数主要是用于求树的最大高度,先写出左子树的最大高度,然后再写出右子树的最大高度,然后就是base case ,当遍历到叶子节点时,返回的高度为0,最后的结果就是根节点的高度1加上
AC 代码
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public int maxDepth(TreeNode root) {
if(root==null){
return 0;
}
int left=maxDepth(root.left);
int right=maxDepth(root.right);
return Math.max(left,right)+1;
}
}
总结
还是一样的套路