Java | Leetcode Java题解之第543题二叉树的直径

题目:

题解:

java 复制代码
class Solution {
    int ans;
    public int diameterOfBinaryTree(TreeNode root) {
        ans = 1;
        depth(root);
        return ans - 1;
    }
    public int depth(TreeNode node) {
        if (node == null) {
            return 0; // 访问到空节点了,返回0
        }
        int L = depth(node.left); // 左儿子为根的子树的深度
        int R = depth(node.right); // 右儿子为根的子树的深度
        ans = Math.max(ans, L+R+1); // 计算d_node即L+R+1 并更新ans
        return Math.max(L, R) + 1; // 返回该节点为根的子树的深度
    }
}
相关推荐
a程序小傲8 分钟前
小红书Java面试被问:java创建对象有哪些方式?
java·开发语言·面试
代码or搬砖17 分钟前
Spring Cache讲解
java·后端·spring
wxin_VXbishe31 分钟前
springboot居家养老管理系统-计算机毕业设计源码55953
java·c++·spring boot·python·spring·django·php
互亿无线明明34 分钟前
国际金融短信:如何为跨境金融业务构建稳定安全的消息通知链路?
java·python·安全·eclipse·django·virtualenv·pygame
Json_34 分钟前
springboot框架 线程池使用与配置,简单粗暴直接用,再也不用自己创建线程了~
java·spring boot·后端
_半夏曲40 分钟前
maven多依赖,由于包路径一样,导致引入类错乱
java·maven
前端小张同学44 分钟前
餐饮小程序需要你们
java·前端·后端
二十雨辰1 小时前
[SSM]Spring快速入门
java·spring
豆约翰1 小时前
Z字形扫描ccf
java·开发语言·算法
闲人编程1 小时前
权限系统设计与RBAC实现
java·网络·数据库·rbac·权限·codecapsule