【重点】【DFS】124.二叉树中的最大路径和

题目

和求二叉树直径相同套路

java 复制代码
class Solution {
    private int max = Integer.MIN_VALUE;
    public int maxPathSum(TreeNode root) {
        if (root == null) {
            return 0;
        }
        dfs(root);
        return max;
    }

    // 返回经过root的单边分支最大和
    public int dfs(TreeNode root) {
        if (root == null) {
            return 0;
        }
        int leftMax = Math.max(dfs(root.left), 0);
        int rightMax = Math.max(dfs(root.right), 0);
        max = Math.max(max, root.val + leftMax + rightMax);

        return root.val + Math.max(leftMax, rightMax);
    }
}
相关推荐
H CHY5 分钟前
C++代码
c语言·开发语言·数据结构·c++·算法·青少年编程
alphaTao6 分钟前
LeetCode 每日一题 2025/12/22-2025/12/28
算法·leetcode
xiaolang_8616_wjl9 分钟前
c++题目_传桶(改编于atcoder(题目:Heavy Buckets))
数据结构·c++·算法
中國龍在廣州17 分钟前
生成不遗忘,「超长时序」世界模型,北大EgoLCD长短时记忆加持
人工智能·深度学习·算法·自然语言处理·chatgpt
亓才孓22 分钟前
java中的Math.Radom拓展
开发语言·python·算法
霍田煜熙32 分钟前
CBMS最新源码
算法
NAGNIP43 分钟前
主流的激活函数有哪些?
算法
NAGNIP1 小时前
Self-Attention 为什么要做 QKV 的线性变换?又为什么要做 Softmax?
算法
core5121 小时前
PageRank 算法:互联网的“人气投票”
算法·pagerank
小白菜又菜1 小时前
Leetcode 1523. Count Odd Numbers in an Interval Range
算法·leetcode