题解 | #二叉树的深度#

二叉树的深度

https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b

import java.util.*;
/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;

    }

}
*/



/**
解题思路:
只需要计算出左子树的最大深度或者右子树的最大深度即可

计算出来后,树的总高度就为max(左子树,右子树) + 1

问题的关键点就在于怎么计算一个树的高度:当一个树没有左右节点时,树的深度就是1

 */

public class Solution {
    public int TreeDepth(TreeNode root) {

        // 临界条件判断,同时也是递归出口,当一颗树的左/右节点为null,说明该树的左/右高度为0
        if(root == null){
            return 0;
        }
        // 计算左子树高度
        int leftL = 0;
        int rightL = 0;
        int max = 0;
        if(root.left != null){
            leftL = TreeDepth(root.left);
        }
        if(root.right != null){
            rightL = TreeDepth(root.right);
        }
        max = leftL > rightL ? leftL + 1 : rightL + 1;

        return max;
    }
}

全部评论

相关推荐

吴offer选手:我卡在笔试才是最好笑的,甚至没给我发过笔试链接
投递哔哩哔哩等公司6个岗位
点赞 评论 收藏
分享
叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务