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; // 返回该节点为根的子树的深度
    }
}
相关推荐
wa的一声哭了4 分钟前
内积空间 正交与正交系
java·c++·线性代数·算法·矩阵·eclipse·云计算
彭于晏Yan8 分钟前
Springboot集成Hutool导出CSV
java·spring boot·后端
万小猿19 分钟前
互联网大厂Java求职面试模拟实战:谢飞机的三轮提问与详细解答
java·大数据·spring boot·微服务·面试·技术解析·互联网大厂
Coder_Boy_21 分钟前
基于SpringAI企业级智能教学考试平台试卷管理模块全业务闭环方案
java·大数据·人工智能·spring boot·springboot
C雨后彩虹21 分钟前
synchronized底层原理:JVM层面的锁实现
java·synchronized
爱编程的小吴21 分钟前
【力扣练习题】热题100道【哈希】560. 和为 K 的子数组
算法·leetcode·哈希算法
Hi梅22 分钟前
批量处理框架 (Batch Processing Framework)
java·服务器·batch
Swift社区27 分钟前
LeetCode 463 - 岛屿的周长
算法·leetcode·职场和发展
筑梦之路27 分钟前
Jenkins 构建部署多模块Java应用流水线参考——筑梦之路
java·运维·jenkins
shayudiandian31 分钟前
【Java】常用类
java