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;
    }
}
相关推荐
码农水水5 分钟前
阿里Java面试被问:Online DDL的INSTANT、INPLACE、COPY算法差异
java·服务器·前端·数据库·mysql·算法·面试
踩坑记录10 分钟前
leetcode hot100 240.搜索二维矩阵
leetcode
wangjialelele13 分钟前
二刷C语言后,一万字整理细碎知识点
c语言·开发语言·数据结构·c++·算法·cpp
yu_anan11114 分钟前
CTC Prefix Score计算
算法·机器学习
Stardep16 分钟前
算法入门21——二分查找算法——山脉数组的峰顶索引
数据结构·算法·leetcode
mjhcsp17 分钟前
P3145 [USACO16OPEN] Splitting the Field G(题解)
开发语言·c++·算法
空空潍17 分钟前
hot100-合并区间(day14)
c++·算法·leetcode
橘颂TA19 分钟前
【剑斩OFFER】算法的暴力美学——力扣 675 题:为高尔夫比赛砍树
数据结构·算法·c·结构与算法
rit843249920 分钟前
UVE算法提取光谱特征波长的MATLAB实现与应用
开发语言·算法·matlab
是娇娇公主~20 分钟前
算法——【最大子数组和】
数据结构·c++·算法