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; // 返回该节点为根的子树的深度
    }
}
相关推荐
Jazz_z30 分钟前
通过 Java 实现 Word 转 TXT
java·c#·word
SamDeepThinking38 分钟前
为什么我会主动给一个年轻程序员加薪、晋升?
java·后端·程序员
ikun_文1 小时前
Java面向对象编程OOP核心知识
java
宠友信息1 小时前
MySQL 租户数据隔离在即时通讯源码后端中的落地方式
java·数据库·spring boot·redis·websocket·mysql
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第163题】【06_Spring篇】第23题:说说SpringBoot 自动配置原理?
java·自动配置·springboot·spi·条件注解
江湖有缘1 小时前
【保姆级教程】使用Docker Compose一键搭建Picsur私有图床服务
java·docker·容器
Tisfy1 小时前
LeetCode 1288.删除被覆盖区间:排序(非二重循环暴力)
算法·leetcode·题解·排序
一路向北North2 小时前
Spring Security OAuth2.0(18):资源服务测试
java·后端·spring
知无不研2 小时前
算法:Fizz Buzz解题思路
c++·算法·leetcode
极光代码工作室2 小时前
基于SpringBoot的订单管理系统
java·springboot·web开发·后端开发