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; // 返回该节点为根的子树的深度
    }
}
相关推荐
憧憬blog7 小时前
【Kiro开发集训营】拒绝“屎山”堆积:在 Kiro 中重构“需求-代码”的血缘关系
java·开发语言·kiro
e***74958 小时前
Spring Security 官网文档学习
java·学习·spring
n***i958 小时前
Java NIO文件操作
java·开发语言·nio
笃行客从不躺平9 小时前
接口幂等性(Idempotency)
java
Hero | 柒10 小时前
JAVA反射机制
java·spring·反射
j***630810 小时前
Springboot项目中线程池使用整理
java·spring boot·后端
likuolei10 小时前
Eclipse 创建 Java 接口
java·数据库·eclipse
q***547510 小时前
Spring Boot 经典九设计模式全览
java·spring boot·设计模式
a***560610 小时前
Spring Boot接收参数的19种方式
java·spring boot·后端
z***751510 小时前
SpringBoot集成MQTT客户端
java·spring boot·后端