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; // 返回该节点为根的子树的深度
    }
}
相关推荐
weixin_419658313 小时前
Docker 搭建 Jenkins 服务
java·docker·jenkins
captain3763 小时前
多线程线程安全问题
java·java-ee
keep intensify3 小时前
最长有效括号
算法·leetcode·动态规划
CoderYanger4 小时前
A.每日一题:1979. 找出数组的最大公约数
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
灵极海4 小时前
LangChain4j RAG 实战完整指南:从入门到踩坑
java·langchain
yaoxin5211234 小时前
476. Java 反射 - 调用方法
java·开发语言
Ivanqhz4 小时前
Rust Lazy浅析
java·javascript·rust
bksczm5 小时前
Linux之日志和线程池、内存池
java·开发语言
笨蛋不要掉眼泪5 小时前
Java虚拟机:对象复活、引用强度与Stop-The-World
java·开发语言·jvm
凤山老林5 小时前
SpringBoot实战:构建优雅的全局异常处理机制
java·springboot·异常处理