当前位置: 首页 > news >正文

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

在这里插入图片描述

【题目】:124. 二叉树中的最大路径和

这题有两个关键点:

  1. 更新res:res = max(l + r + root->val, res),左子树最大链长 + 右子树最大链长 + 根节点的值其实也可以当成一条链
  2. 子树root的最大链长:max(max(l, r) + root->val, 0),由于一个子树的链长只能取左子树的最大链长或右子树的最大链长,所以这里先max(l, r),也别忘了+root->val,由于这个值可能比0还小,如果比0小那要你还有什么用?直接舍弃好了(0表示什么都不取)
    在这里插入图片描述
class Solution {
public:
    int res = INT_MIN;
    int help(TreeNode* root) {
        if(root == nullptr) {
            return 0;
        }
        int l = help(root->left); // 左子树的最大链和
        int r = help(root->right); // 右子树的最大链和
        res = max(l + r + root->val, res); // l + r + root->val:左右子树的联合可以拼成一条链
        return max(max(l, r) + root->val, 0); // 当前子树的联和:max(l, r) + root->val,因为是链,所以左右子树只能取一条
    }
    int maxPathSum(TreeNode* root) {
        help(root);
        return res;
    }
};
  • 时间复杂度: O(n)
  • 空间复杂度: O(n)
http://www.dtcms.com/a/19088.html

相关文章:

  • 均匀面阵抗干扰算法原理及MATLAB仿真
  • 4、C#基于.net framework的应用开发实战编程 - 测试(四、二) - 编程手把手系列文章...
  • vue error Expected indentation of 2 spaces but found 4 indent
  • 基于STM32的智能鱼塘养殖监控系统
  • 铁塔电单车协议对接电单车TCP json协议对接成熟充电桩系统搭建低速充电桩TCP 接口规范
  • 小白win10安装并配置yt-dlp
  • 单元测试整理
  • 【20250215】二叉树:145.二叉树的后序遍历
  • 如何使用Three.js制作3D月球与星空效果
  • 制作Ubuntu根文件
  • Linux基础之文件权限的八进制表示法
  • 一文说清楚什么是Token以及项目中使用Token延伸的问题
  • 数据开放共享和平台整合优化取得实质性突破的智慧物流开源了
  • 【自学笔记】深度学习基础知识点总览-持续更新
  • UNET改进63:添加DTAB模块|强大的局部拟合和全局视角能力
  • Esxi8.0设置nvidia显卡直通安装最新驱动
  • 六、面向对象编程(2)
  • 多模态基础模型训练笔记-第一篇InternVL-g
  • HTTP 与 HTTPS:协议详解与对比
  • 蓝桥杯 Java B 组之简单动态规划(爬楼梯、斐波那契数列)
  • 本地通过隧道连接服务器的mysql
  • 1-10 github注册仓库
  • MySQL Workbench 8.0不支持非SSL连接
  • 喜报!博睿数据案例获经观传媒“2024年度数字转型创新案例”!
  • 信息量与信息熵
  • 计算机性能与网络体系结构探讨 —— 基于《计算机网络》谢希仁第八版
  • VMware vSphere数据中心虚拟化——搭建vCenter Server7.0数据中心集群
  • 大语言模型推理中的显存优化 有哪些
  • 可编程超表面任意旋转偏振方向并以线性和非线性方式操控相位
  • cpu、gpu查看