【LeetCode热题100】【二叉树】二叉树中的最大路径和

题目链接:124. 二叉树中的最大路径和 - 力扣(LeetCode)

天美后台开发一面第三题,之前做过543. 二叉树的直径 - 力扣(LeetCode),解法基本一样,只不过累积的值变成了权重,还是用递归,不过我面试的时候没有考虑到负数的情况,有点遗憾,希望给个机会

复制代码
class Solution {
public:
    int ans = INT32_MIN;

    int depth(TreeNode *root) {
        if (root == nullptr)
            return 0;
        int R = max(depth(root->right), 0);
        int L = max(depth(root->left), 0);
        ans = max(ans, R + L + root->val);
        return max(R, L) + root->val;
    }

    int maxPathSum(TreeNode *root) {
        depth(root);
        return ans;
    }
};
相关推荐
richard_yuu14 分钟前
数据结构|二叉树高阶进阶-经典算法
数据结构·c++·算法
不知名的忻22 分钟前
Dijkstra算法(朴素版&堆优化版)
java·数据结构·算法··dijkstra算法
星星码️35 分钟前
LeetCode刷题简单篇之反转字母
c++·算法·leetcode
naturerun1 小时前
螺旋形遍历奇数阶矩阵
c++·算法·矩阵
wuweijianlove1 小时前
算法复杂度的实验估算与误差分布建模的技术7
算法
佳xuan2 小时前
简而言之c++
c++·算法
变量未定义~2 小时前
星际争霸、宝石塔的亮度差异、寻找食物储量
算法
YL200404262 小时前
027合并两个有序链表
java·数据结构·算法·链表
MATLAB代码顾问3 小时前
【智能优化】无穷优化算法(INFO)原理与Python实现
开发语言·python·算法
炽烈小老头3 小时前
【每天学习一点算法 2026/05/10】合并K个排序链表
学习·算法·链表