【重点】【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);
    }
}
相关推荐
_codemonster3 分钟前
计算机视觉入门到实战系列(八)Harris角点检测算法
python·算法·计算机视觉
Snow_day.8 分钟前
有关排列排列组合(1)
数据结构·算法·贪心算法·动态规划·图论
dora29 分钟前
【开发火星地平线辅助】智商不够,编程来凑
算法
im_AMBER32 分钟前
Leetcode 100 在链表中插入最大公约数
数据结构·c++·笔记·学习·算法·leetcode·链表
Z1Jxxx36 分钟前
删除字符串2
开发语言·c++·算法
踩坑记录38 分钟前
leetcode hot100 15. 三数之和 medium
算法·leetcode·职场和发展
独自破碎E44 分钟前
【二分法】旋转数组的最小数字
数据结构·算法·排序算法
苦藤新鸡1 小时前
9.找到字符串中所有字母异位词
数据结构·c++·算法·力扣
豆沙沙包?1 小时前
2026年--Lc336-1448. 统计二叉树中好节点的数目(树)--java版
java·开发语言·深度优先
逑之1 小时前
C语言笔记12:C语言内存函数
c语言·笔记·算法