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;
    }
}
相关推荐
小羊在奋斗1 小时前
【多源BFS】01 矩阵 / 飞地的数量 / 地图中的最高点 / 地图分析 / 腐烂的苹果
算法·矩阵·宽度优先
WG_171 小时前
图论:多源最短路
数据结构·c++·算法
一只小透明啊啊啊啊1 小时前
【leetcode 100】贪心Java版本
java·算法·leetcode
白白糖2 小时前
组合与括号生成(回溯)
python·算法·力扣
whltaoin2 小时前
动态规划算法深度解析:0-1背包问题(含完整流程)
算法·动态规划
好好学习^按时吃饭2 小时前
蓝桥杯2022年第十三届省赛真题-统计子矩阵
算法·蓝桥杯
Swift社区3 小时前
LeetCode 249 解法揭秘:如何把“abc”和“bcd”分到一组?
算法·leetcode·职场和发展
大萌神Nagato3 小时前
Johnson算法 流水线问题 java实现
java·算法
爱coding的橙子3 小时前
蓝桥杯备赛 Day 20 树基础
数据结构·c++·算法·蓝桥杯·深度优先
F_lander3 小时前
蓝桥杯冲刺题单--二分
java·算法·蓝桥杯