求二叉树的深度

简介: 求二叉树的深度

5be268bbdc3644a3a6b2f284449bdc22.png86c40bca9d0d41d5890f7f5b0c7d6b02.png


这个题可以这样做,采用递归的思想,


深度是指树的根节点到任一叶子节点路径上节点的数量,因此从根节点每次往下一层深度就会加1。因此二叉树的深度就等于根节点这个1层加上左子树和右子树深度的最大值,每个子树我们都可以看成一个根节点,继续用上述方法求的深度,这里就运用了递归的思想


思路


每个结点不为空,深度累计+1


遍历左右子树,递归算深度


找深度最大值+1



8ed38dc583fe48a9af5c2301301e0534.png

代码如图


public class Solution {
    public int TreeDepth(TreeNode root) {
        //如果为空结点,那么没有深度
        if(root==null)
           return 0;
        //如果不为空,返回子树深度加1
        return   Math.max(TreeDepth(root.left),TreeDepth(root.right))+1;
    }
}
相关文章
|
6月前
|
存储
【二叉树前沿篇】树
【二叉树前沿篇】树
39 0
|
6月前
【力扣】104. 二叉树的最大深度、111. 二叉树的最小深度
【力扣】104. 二叉树的最大深度、111. 二叉树的最小深度
【剑指offer】-二叉树的深度-36/67
【剑指offer】-二叉树的深度-36/67
【Leetcode -100.相同的树 -104.二叉树的深度】
【Leetcode -100.相同的树 -104.二叉树的深度】
38 0
剑指offer 59. 二叉树的深度
剑指offer 59. 二叉树的深度
55 0
剑指offer_二叉树---二叉树的深度
剑指offer_二叉树---二叉树的深度
67 0
剑指offer 55 二叉树的深度
DFS深度优先二叉树无非就那几个步骤
二叉树——111. 二叉树的最小深度
本专栏按照数组—链表—哈希—字符串—栈与队列—二叉树—回溯—贪心—动态规划—单调栈的顺序刷题,采用代码随想录所给的刷题顺序,一个正确的刷题顺序对算法学习是非常重要的,希望对大家有帮助
二叉树——111. 二叉树的最小深度
|
存储 算法 C++