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; // 返回该节点为根的子树的深度
    }
}
相关推荐
天若有情6735 分钟前
【C++趣味实战】仿写Burp代理逻辑!自定义可控迭代器:拦截Intercept/放行Forward/重放Repeater全实现
java·开发语言·c++
迷藏4946 分钟前
Python+DuckDB:轻量级BI流水线实战
java·开发语言·python·原型模式
磊 子9 分钟前
C++function与bind绑定器讲解
java·jvm·c++
咋吃都不胖lyh10 分钟前
短期记忆和长期记忆都存 MySQL
android·java·开发语言
浮游本尊12 分钟前
前端vue转后端java学习路径
java·前端·vue.js
KWTXX21 分钟前
vibe coding-提示词
java·前端·算法
Knight_AL1 小时前
深入理解 ForkJoinPool、parallelStream、CompletableFuture:从原理到生产最佳实践(含百万订单统计实战)
java
王五周八2 小时前
玩转 Spring AI Agent:基于 SpringBoot 集成 AI 工具与 Skills 能力实践
java·spring
小锋java12342 小时前
【技术专题】LangChain4j 开发Java Agent智能体 - 会话记忆
java·人工智能