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; // 返回该节点为根的子树的深度
    }
}
相关推荐
Navigator_Z8 小时前
LeetCode //C - 1240. Tiling a Rectangle with the Fewest Squares
c语言·算法·leetcode
稻米哟8 小时前
力扣100——双指针
算法·leetcode
香菜TTT8 小时前
Redis的哨兵机制
java·数据库·redis
withoutfear8 小时前
IntelliJ IDEA卡顿内存分配不足和索引被频繁触发问题解决办法
java·ide·intellij-idea
大圣编蚕8 小时前
Java StringWriter 详解:从入门到实战
java·开发语言·python
老苗项目实战9 小时前
Java工程师高频面试题(基于近一年的真实面试记录整理)
java·开发语言·面试·预见猿份·老苗项目实战
陈皮波比茶9 小时前
分布式任务调度xxl-job
java·分布式
XiaoYu1__10 小时前
JavaGUI文件管理系统开发实战:从静态展示到动态交互的演进
java·开发语言
霸道流氓气质10 小时前
MCP(Model Context Protocol)核心概念与Java SDK集成
java·开发语言
敲代码的嘎仔10 小时前
从集群锁失效到异步领券:我用分布式锁 + Redisson + MQ 把领券接口 RT 从 200ms 压到 15ms
java·数据库·redis·分布式·缓存·ai·wpf