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; // 返回该节点为根的子树的深度
    }
}
相关推荐
lvwangshu8 小时前
T1 称重(weight)题解
题解·贪心·总结·技巧·性质题·思维好题
用户1305180712159 小时前
JDBC学习DAY2:从Statement到PreparedStatement
java
蛋蛋的就会顺顺的9 小时前
hot100——矩阵
java·数据结构·算法·leetcode·力扣
周杰偷奶茶10 小时前
【Java】数组的定义和使用(附管理系统实战案例)
java·开发语言
橙子圆12310 小时前
JUC之集合类不安全
java·开发语言
谢亮_vipxieliang11 小时前
Stream API 不是银弹:常见坑与性能建议
java·开发语言
源码宝12 小时前
Web‑PACS 云影像源码|Java+Vue3 医院影像管理系统完整方案
java·源码·影像pacs·成品源码·医院影像系统
ShineWinsu12 小时前
对于Redis:string类型的解析
java·c++·redis·分布式·缓存·面试·string
三84414 小时前
Fastjson 漏洞 · 02 · autoType 机制与 checkAutoType
java·fastjson