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; // 返回该节点为根的子树的深度
    }
}
相关推荐
怀旧666几秒前
spring boot 项目配置https服务
java·spring boot·后端·学习·个人开发·1024程序员节
李老头探索2 分钟前
Java面试之Java中实现多线程有几种方法
java·开发语言·面试
芒果披萨8 分钟前
Filter和Listener
java·filter
qq_49244844612 分钟前
Java实现App自动化(Appium Demo)
java
阿华的代码王国21 分钟前
【SpringMVC】——Cookie和Session机制
java·后端·spring·cookie·session·会话
木向35 分钟前
leetcode92:反转链表||
数据结构·c++·算法·leetcode·链表
找了一圈尾巴1 小时前
前后端交互通用排序策略
java·交互
Star Patrick1 小时前
算法训练(leetcode)二刷第十九天 | *39. 组合总和、*40. 组合总和 II、*131. 分割回文串
python·算法·leetcode
哎呦没3 小时前
SpringBoot框架下的资产管理自动化
java·spring boot·后端