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; // 返回该节点为根的子树的深度
    }
}
相关推荐
abments3 分钟前
pgsql timestamp without time zone > character varying解决方案
java
sanggou27 分钟前
大数据量查询处理方案 - 内存优化与高效展示
java
没有bug.的程序员35 分钟前
Java 字节码:看懂 JVM 的“机器语言“
java·jvm·python·spring·微服务
-大头.38 分钟前
深入理解 Java 内存区域与 JVM 运行机制
java·jvm
没有bug.的程序员42 分钟前
JVM 整体架构:一套虚拟机的心脏与血管
java·jvm·spring boot·spring cloud·架构
晨枫阳1 小时前
不同语言的元组对比
java·前端·javascript
悟能不能悟1 小时前
怎么在idea合并2个个branch
java·ide·intellij-idea
i02082 小时前
SpringBoot 项目配置
java·spring boot·后端
计算机毕业设计小途2 小时前
计算机毕业设计推荐:基于springboot的快递物流仓库管理系统【Java+spring boot+MySQL、Java项目、Java毕设、Java项目定制定
java·spring boot·mysql
flashlight_hi2 小时前
LeetCode 分类刷题:404. 左叶子之和
javascript·算法·leetcode