【重点】【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);
    }
}
相关推荐
mit6.8245 小时前
Xai架构
算法
WBluuue6 小时前
Codeforces 1078 Div2(ABCDEF1)
c++·算法
寻星探路6 小时前
【JVM 终极通关指南】万字长文从底层到实战全维度深度拆解 Java 虚拟机
java·开发语言·jvm·人工智能·python·算法·ai
田里的水稻6 小时前
FA_融合和滤波(FF)-联邦滤波(FKF)
人工智能·算法·数学建模·机器人·自动驾驶
紫陌涵光7 小时前
112. 路径总和
java·前端·算法
回敲代码的猴子7 小时前
2月8日上机
开发语言·c++·算法
IT猿手7 小时前
MOEA/D(基于分解的多目标进化算法)求解46个多目标函数及一个工程应用,包含四种评价指标,MATLAB代码
开发语言·算法·matlab·多目标算法
Benny_Tang8 小时前
AtCoder Beginner Contest 445(ABC445) A-F 题解
c++·算法
sprintzer8 小时前
2.06-2.15力扣数学刷题
算法·leetcode·职场和发展
喵呜嘻嘻嘻8 小时前
Gurobi求解器参数
java·数据结构·算法