543.二叉树的直径

给你一棵二叉树的根节点,返回该树的 直径

二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root

两节点之间路径的 长度 由它们之间边数表示。

java 复制代码
class Solution{
    // 全局变量
    int ans = 0;
    
    public int diameterOfBinaryTree(TreeNode root){
        heigh(root);
        return ans;
    }
    
    public int depth(TreeNode root){
        // 返回的为:root节点的左右子树中最大的树的节点数
        if(root == null) return 0;
        int l = depth(root.left);
        int r = depth(root.right);
        ans = Math.max(ans, l + r)
        return Math.max(l, r) + 1;
    }
}
相关推荐
CoovallyAIHub24 分钟前
YOLO + DeepSort 的视频目标检测与跟踪全解析
深度学习·算法·计算机视觉
CoovallyAIHub1 小时前
基于YOLOv10-MHSA的“三北”工程内蒙古地区植树位点精准检测研究
深度学习·算法·计算机视觉
云和数据.ChenGuang2 小时前
Raft协议 一种专为分布式系统设计的共识算法
运维·服务器·算法·区块链·共识算法
重生之我是Java开发战士3 小时前
【数据结构】深入理解顺序表与通讯录项目的实现
数据结构·算法
anlogic4 小时前
Java基础 8.11
java·开发语言·算法
sjh21006 小时前
STM32的计数模式和pwm模式
java·stm32·算法
dlraba80212 小时前
机器学习-----K-means算法介绍
算法·机器学习·kmeans
啊阿狸不会拉杆13 小时前
《算法导论》第 14 章 - 数据结构的扩张
数据结构·c++·算法·排序算法
Q741_14714 小时前
如何判断一个数是 2 的幂 / 3 的幂 / 4 的幂 / n 的幂 位运算 总结和思考 每日一题 C++的题解与思路
开发语言·c++·算法·leetcode·位运算·总结思考
小王爱学人工智能14 小时前
快速了解DBSCAN算法
算法·机器学习·支持向量机