二叉树的深度


c博客链接:

二叉树的深度

题目链接:

题目

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

示例:
给定二叉树 [3,9,20,null,null,15,7],

3
/ \
9 20
/ \
15 7
返回它的最大深度 3 。

题解

使用递归,每次遍历节点,判断是否为叶子节点,如果不是叶子节点,则继续遍历并把深度加一,如果是叶子节点比较当前深度是否比前面深度大,并且返回。

做这类题目的思路是:

1.先确定输入,输出。

2.确定最小递归单元。

3.怎么由最小递归单元得出最后结果。

代码

 

class Solution {
    public int maxDepth(TreeNode root) {
         return  max(root);
    }
    public int max(TreeNode root){
        if(root==null)
        return 0;
       int left= max(root.left);
       int right= max(root.right);
        return Math.max(left,right)+1;
    }
}

 

结果

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM