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; // 返回该节点为根的子树的深度
    }
}
相关推荐
陳長生.4 分钟前
JAVA EE(进阶)_进阶的开端
java·java-ee
录大大i21 分钟前
2_Spring【IOC容器中获取组件Bean】
java·spring
linab11225 分钟前
mybatis中的resultMap的association及collectio的使用
java·开发语言·mybatis
fanTuanye1 小时前
Java基础知识总结(超详细整理)
java·开发语言
wu~9701 小时前
手撕四种常用设计模式(工厂,策略,代理,单例)
java·单例模式·设计模式·代理模式·抽象工厂模式·策略模式
随缘。。。。1 小时前
web系统安全管理
java
丁一郎学编程1 小时前
优先级队列(堆)
java·数据结构
侧耳倾听1111 小时前
java集合相关的api-总结
java·开发语言
贺函不是涵2 小时前
【沉浸式求职学习day43】【Java面试题精选3】
java·开发语言·学习
xiaobin889992 小时前
matlab官方免费下载安装超详细教程2025最新matlab安装教程(MATLAB R2024b)
java·开发语言·其他·matlab