【重点】【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);
    }
}
相关推荐
shangjian0073 小时前
AI大模型-评价指标-相关术语
人工智能·算法
Live&&learn4 小时前
算法训练-数据结构
数据结构·算法·leetcode
松岛雾奈.2305 小时前
机器学习--PCA降维算法
人工智能·算法·机器学习
电子_咸鱼5 小时前
【STL string 全解析:接口详解、测试实战与模拟实现】
开发语言·c++·vscode·python·算法·leetcode
sweet丶6 小时前
适合iOS开发的一种缓存策略YYCache库 的原理
算法·架构
是宇写的啊6 小时前
算法—滑动窗口
算法
风筝在晴天搁浅6 小时前
代码随想录 509.斐波那契数
数据结构·算法
落落落sss6 小时前
java实现排序
java·数据结构·算法
limenga1027 小时前
支持向量机(SVM)深度解析:理解最大间隔原理
算法·机器学习·支持向量机
coder江7 小时前
二分查找刷题总结
算法