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; // 返回该节点为根的子树的深度
    }
}
相关推荐
mango_mangojuice14 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
程序员侠客行14 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
时艰.14 小时前
Java 并发编程 — 并发容器 + CPU 缓存 + Disruptor
java·开发语言·缓存
丶小鱼丶14 小时前
并发编程之【优雅地结束线程的执行】
java
市场部需要一个软件开发岗位14 小时前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全
忆~遂愿14 小时前
GE 引擎进阶:依赖图的原子性管理与异构算子协作调度
java·开发语言·人工智能
MZ_ZXD00114 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
PP东14 小时前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable
ManThink Technology14 小时前
如何使用EBHelper 简化EdgeBus的代码编写?
java·前端·网络
invicinble14 小时前
springboot的核心实现机制原理
java·spring boot·后端