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; // 返回该节点为根的子树的深度
    }
}
相关推荐
磊 子14 小时前
C++移动语义和智能指针
java·开发语言·c++
JAVA面经实录91714 小时前
Elasticsearch 完整版完整知识体系
java·elasticsearch·搜索引擎·es
hikktn14 小时前
ORA-01861 日期格式错误的根治方案:从 SQL 层到 Java 层的标准化治理
java·python·sql
雪宫街道14 小时前
SpringBoot 静态资源映射规则与定制
java·spring boot·后端·spring
风筝在晴天搁浅14 小时前
LeetCode CodeTop 82.删除排序链表中的重复元素Ⅱ
算法·leetcode·链表
宸津-代码粉碎机14 小时前
Spring AI企业级实战|智能记忆摘要+自动遗忘机制落地,彻底解决上下文爆炸与Token冗余
java·大数据·人工智能·后端·python·spring
南极企鹅14 小时前
springboot项目不退出的原因
java·spring boot·后端
devilnumber14 小时前
Java 二分查找(二分算法)详解 + 实战运用 + 核心坑点
java·开发语言·算法
洛水水14 小时前
【力扣100题】84.字符串解码
算法·leetcode·职场和发展
仍然.14 小时前
SpringBoot快速上手
java·spring boot·后端