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; // 返回该节点为根的子树的深度
    }
}
相关推荐
juniperhan2 分钟前
Flink 系列第15篇:Flink 侧输出(Side Output)详解及实践
java·大数据·分布式·flink
终端行者7 分钟前
Jenkins Pipeline在不同阶段指定不同的 agent 或 Docker 容器进行执行任务和固定一个节点分段执行任务,一文带你搞定
java·docker·jenkins·cicd
Engineer邓祥浩8 分钟前
知识点1 时间复杂度、空间复杂度
java·数据结构·算法
小小仙。9 分钟前
IT自学第三十七天补充
java·开发语言
knight_9___13 分钟前
RAG面试篇7
java·面试·agent·rag·智能体
song85460113415 分钟前
idea问题解决
java·ide·intellij-idea
问水っ16 分钟前
Qt高级编程 第7章 用QtConcurrent实现线程处理
java·开发语言
SimonKing17 分钟前
AI编程工具装了一大堆,Skills 管理乱成粥?这个开源神器一招搞定!
java·后端·程序员
one_love_zfl20 分钟前
java面试-微服务篇
java·微服务·面试
郝学胜-神的一滴28 分钟前
系统设计:新鲜事系统扩展与优化
java·python·职场和发展·php·软件工程·软件构建