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 分钟前
CodeTop Top 300 热门题目3-字符串相加
java·前端·算法
编程之升级打怪6 分钟前
自定义实现Java的HashMap集合
java·开发语言
后端AI实验室7 分钟前
我带的那个实习生,比我更依赖AI——但他的问题和我完全不同
java·ai
y小花9 分钟前
安卓StorageManagerService
android·java
码王吴彦祖9 分钟前
AI 逆向分析国航 AirChina FECU 参数来源并实现离线生成
android·java·javascript
LJianK19 分钟前
进程、线程、多线程、异步
java·开发语言·jvm
ch.ju13 分钟前
Java程序设计(第3版)第二章——循环结构1
java
大黄烽13 分钟前
IDEA中集成AI 工具CodeBuddy和Trae区别和选型
java·人工智能·intellij-idea
HalvmånEver17 分钟前
MySQL表的约束(二)
java·数据库·mysql
abant218 分钟前
leetcode 763 未来跳跃游戏
算法·leetcode·游戏