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; // 返回该节点为根的子树的深度
    }
}
相关推荐
2501_937860945 分钟前
从JDBC到数据访问:Java数据库编程完全指南
java·开发语言·数据库
JacksonMx11 分钟前
Java 服务调用下游接口注意点
java·开发语言
许彰午14 分钟前
08-条件拼接规则
java·低代码·架构
码匠许师傅25 分钟前
【C++ 面试真题】32. 聊聊 C++ 的原子变量与无锁编程
java·c++·面试
不会就选b33 分钟前
Linux之线程池(一)
java·开发语言
wabs66635 分钟前
关于栈【力扣150.逆波兰表达式求值的思考】
数据结构·c++·算法·leetcode··代码随想录
IT毕设实战小研41 分钟前
基于大数据的二手车数据分析与预测
java·大数据·后端·爬虫·python·算法·课程设计
吠品43 分钟前
OkHttp 多文件上传的一个实现
java·服务器·前端
lingguangbuzhi1 小时前
【JAVA教程】java课程java学习编程
java·学习·教程
渡我白衣1 小时前
Acceptor模块的设计与实现
java·linux·服务器·开发语言·网络·c++·人工智能