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; // 返回该节点为根的子树的深度
    }
}
相关推荐
u0104058363 分钟前
企业微信第三方应用API对接的Java后端架构设计:解耦与可扩展性实践
java·数据库·企业微信
sheji34165 分钟前
【开题答辩全过程】以 基于Java的智慧党建管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
冰冰菜的扣jio11 分钟前
理解RocketMQ的消息模型
java·rocketmq·java-rocketmq
很搞笑的在打麻将12 分钟前
Java集合线程安全实践:从ArrayList数据迁移问题到synchronizedList解决方案
java·jvm·算法
坚持学习前端日记12 分钟前
微服务模块化项目结构
java·jvm·微服务
烤麻辣烫12 分钟前
java进阶--刷题与详解-1
java·开发语言·学习·intellij-idea
王老师青少年编程13 分钟前
2025年3月GESP真题及题解(C++七级): 图上移动
c++·题解·dp·真题·gesp·七级·图上运动
cypking14 分钟前
一、Mac 下 JDK + Maven 安装配置文档(Bash 终端 / Source 生效)
java·macos·maven
七夜zippoe14 分钟前
分布式事务解决方案 Seata AT模式深度解析
java·sql·seata·at·xa·undo log
计算机毕设指导615 分钟前
基于微信小程序的社区医疗服务管理系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea