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; // 返回该节点为根的子树的深度
    }
}
相关推荐
几分醉意.5 分钟前
先发制人:用 Bright Data 抢先捕捉 TikTok 爆款内容(附实战案例)
java·大数据·人工智能
SuperherRo6 分钟前
JAVA攻防-Webshell免杀&JSP&JSPX脚本&URL类加载&远程分离&文件包含&工具特征消除
java·文件包含·webshell·url类加载·特征消除
毕设源码-钟学长8 分钟前
【开题答辩全过程】以 垃圾分类查询系统为例,包含答辩的问题和答案
java
returnthem25 分钟前
Docker练习
java·nginx·dubbo
2501_9403152625 分钟前
98验证二叉搜索树
java·数据结构·算法
xuhaoyu_cpp_java26 分钟前
JAVA线程安全类
java·开发语言
luckycoding32 分钟前
3005. 最大频率元素计数
算法·leetcode·职场和发展
fengxin_rou40 分钟前
一文读懂 Redis 集群:从哈希槽到透明访问
java·数据库·redis·算法·spring·缓存
m0_6356474842 分钟前
Qt开发与MySQL数据库教程(二)——MySQL常用命令以及示例
java·开发语言·数据库·mysql
⑩-1 小时前
@Vaild
java·javaee