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;
    }
}
相关推荐
木井巳2 分钟前
【递归算法】计算布尔二叉树的值
java·算法·leetcode·深度优先
睡一觉就好了。28 分钟前
直接选择排序
数据结构·算法·排序算法
哈哈不让取名字34 分钟前
分布式日志系统实现
开发语言·c++·算法
芬加达36 分钟前
leetcode221 最大正方形
java·数据结构·算法
知无不研40 分钟前
实现一个整形栈
c语言·数据结构·c++·算法
夏鹏今天学习了吗43 分钟前
【LeetCode热题100(98/100)】子集
算法·leetcode·深度优先
DuHz44 分钟前
用于汽车应用的数字码调制(DCM)雷达白皮书精读
论文阅读·算法·自动驾驶·汽车·信息与通信·信号处理
李昊哲小课1 小时前
机器学习核心概念与经典算法全解析
人工智能·算法·机器学习·scikit-learn
风筝在晴天搁浅1 小时前
hot100 437.路径总和Ⅲ
算法