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; // 返回该节点为根的子树的深度
    }
}
相关推荐
q***787810 分钟前
Spring Boot的项目结构
java·spring boot·后端
q***965836 分钟前
Spring Data JDBC 详解
java·数据库·spring
Kuo-Teng38 分钟前
LeetCode 118: Pascal‘s Triangle
java·算法·leetcode·职场和发展·动态规划
倚肆1 小时前
HttpServletResponse 与 ResponseEntity 详解
java·后端·spring
悟能不能悟1 小时前
java List怎么转换为Vector
java·windows·list
yaoxin5211231 小时前
241. Java 集合 - 使用 Collections 工厂类处理集合
java·windows
依_旧1 小时前
【玩转全栈】----Django基本配置和介绍
java·后端
white-persist1 小时前
差异功能定位解析:C语言与C++(区别在哪里?)
java·c语言·开发语言·网络·c++·安全·信息可视化
kokunka1 小时前
C#类修饰符功能与范围详解
java·开发语言·c#
仟濹1 小时前
【Java 基础】3 面向对象 - this
java·开发语言·python