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; // 返回该节点为根的子树的深度
    }
}
相关推荐
ikun_文3 小时前
Java集合框架Collection拓展进阶
java·java ee
码匠许师傅3 小时前
【C++ 面试真题】聊聊 C++ 的虚函数和多态
java·c++·面试
LuminousCPP4 小时前
单链表专题(四)-刷题复盘篇-LeetCode 138 随机链表复制|原地拷贝法突破复杂指针操作
数据结构·笔记·算法·leetcode·链表
chuan.bai4 小时前
Java RAG 实战(第 8 篇):Spring Boot RAG 查询 API
java·spring boot·贪心算法
FlyWIHTSKY4 小时前
idea中集成claude功能
java·ide·人工智能·intellij-idea·cloudera
Java成神之路-4 小时前
Spring AI 统一结构化返回:ChatModel / ChatClient 两种实现方式
java·springaialibaba
Mr. zhihao4 小时前
深度解析:为什么Java序列化需要搭配ByteArrayOutputStream?IO装饰器模式的精妙设计
java·开发语言·装饰器模式
存在morning4 小时前
【Python 开发实践 一】Python vs Go vs Java 三门语言对比
java·python·golang
Forever Nore4 小时前
LeetCode 14 最长公共前缀 - 纵向扫描
linux·服务器·leetcode
vx-程序开发4 小时前
springboot旅游推介平台---附源码24175
java·spring boot·python·spring cloud·eclipse·django·idea