day52(1.2)——leetcode面试经典150

124. 二叉树中的最大路径和

124. 二叉树中的最大路径和

题目:

题解:

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    private int sum = Integer.MIN_VALUE;
    public int dfs(TreeNode root) {
        if(root == null) {
            return 0;
        }
        //有子结点
        int left = dfs(root.left);
        int right = dfs(root.right);
        // 两条链拼成路径
        sum = Math.max(sum, left+right+root.val);
        // 当前子树最大链和(注意这里和 0 取最大值了)
        return Math.max(Math.max(left, right)+root.val, 0);
    }

    public int maxPathSum(TreeNode root) {
        dfs(root);
        return sum;
    }
}
相关推荐
努力学算法的蒟蒻1 天前
day63(1.22)——leetcode面试经典150
算法·leetcode·面试
永远都不秃头的程序员(互关)1 天前
【决策树深度探索(一)】从零搭建:机器学习的“智慧之树”——决策树分类算法!
算法·决策树·机器学习
程序员-King.1 天前
day161—动态规划—最长递增子序列(LeetCode-300)
算法·leetcode·深度优先·动态规划·递归
西柚小萌新1 天前
【计算机视觉CV:目标检测】--3.算法原理(SPPNet、Fast R-CNN、Faster R-CNN)
算法·目标检测·计算机视觉
高频交易dragon1 天前
Hawkes LOB Market从论文到生产
人工智能·算法·金融
CTO Plus技术服务中1 天前
强悍的Go语言开发面试题和答案
java·面试·职场和发展
_OP_CHEN1 天前
【算法基础篇】(五十)扩展中国剩余定理(EXCRT)深度精讲:突破模数互质限制
c++·算法·蓝桥杯·数论·同余方程·扩展欧几里得算法·acm/icpc
福楠1 天前
C++ STL | set、multiset
c语言·开发语言·数据结构·c++·算法
enfpZZ小狗1 天前
基于C++的反射机制探索
开发语言·c++·算法
炽烈小老头1 天前
【每天学习一点算法 2026/01/22】杨辉三角
学习·算法