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; // 返回该节点为根的子树的深度
    }
}
相关推荐
小辉同志3 小时前
739. 每日温度
c++·算法·leetcode
_MyFavorite_3 小时前
JAVA重点基础、进阶知识及易错点总结(15)缓冲流 + 转换流
java·开发语言·spring boot
Via_Neo3 小时前
二进制枚举
数据结构·算法·leetcode
qq_333120974 小时前
头歌答案--爬虫实战
java·前端·爬虫
TT哇4 小时前
【项目】从“本地能跑”到“生产级部署”:Java + Docker 自动化部署深度复盘
java·docker·自动化
摇滚侠4 小时前
JAVA 项目教程《苍穹外卖-11》,微信小程序项目,前后端分离,从开发到部署
java·开发语言·微信小程序
muls14 小时前
java面试宝典
java·linux·服务器·网络·算法·操作系统
执笔论英雄4 小时前
【vllm】vllm根据并发学习调度
java·学习·vllm
瑶总迷弟4 小时前
Python入门第6章:字典(键值对数据结构)
java·数据结构·python
o丁二黄o4 小时前
【MyBatisPlus】MyBatisPlus介绍与使用
java