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; // 返回该节点为根的子树的深度
    }
}
相关推荐
小白菜又菜8 分钟前
Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
python·算法·leetcode
毕设源码-郭学长14 分钟前
【开题答辩全过程】以 高校人事管理系统 为例,包含答辩的问题和答案
java
We་ct16 分钟前
LeetCode 222. 完全二叉树的节点个数:两种解法详解(BFS + 二分查找优化)
数据结构·算法·leetcode·typescript
小白菜又菜17 分钟前
Leetcode 234. Palindrome Linked List
python·算法·leetcode
Zhu_S W25 分钟前
Kubernetes (K8s) 完全指南:Java 开发者的容器编排实践
java·容器·kubernetes
罗超驿39 分钟前
15. Java异常处理全解析:从底层原理到实战避坑指南
java·异常处理·开发实战·编程技巧·自定义异常·try-catch
柒.梧.1 小时前
吃透Spring Bean:生命周期、单例特性、作用域及扩展方式
java·后端·spring
小白菜又菜1 小时前
Leetcode 221. Maximal Square
算法·leetcode·职场和发展
zihan03211 小时前
若依(RuoYi)框架核心升级:全面适配 SpringData JPA,替换 MyBatis 持久层方案
java·开发语言·前端框架·mybatis·若依升级springboot