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

【二叉树(DFS)- LeetCode】124. 二叉树中的最大路径和

题目:

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

题解

DFS

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
private:int maxSum = INT_MIN;
public:int maxGain(TreeNode* node){if(node == nullptr){return 0;}// 子树递归计算贡献值,如果是负数的则不选择,也就是0int l = max(maxGain(node->left), 0);int r = max(maxGain(node->right), 0);int tmp_sum = l + r + node->val;maxSum = max(tmp_sum, maxSum);return node->val+max(l,r);}int maxPathSum(TreeNode* root) {maxGain(root);return maxSum;}
};

http://www.xdnf.cn/news/19076.html

相关文章:

  • 3 反向传播
  • WebStorm-在WebStorm中使用Git管理项目
  • Set和Map
  • Manus AI:突破多语言手写识别的技术壁垒,重塑全球交流方式
  • 【69页PPT】智慧方案智慧校园解决方案(附下载方式)
  • oceanbase-参数及变量的记录
  • 零成本解锁 Cursor Pro:虚拟卡白嫖1个月+14天试用全攻略
  • 【MFC自动生成的文件详解:YoloClassMFC.cpp 的逐行解释、作用及是否能删除】
  • 30分钟入门实战速成Cursor IDE(2)
  • B树的概述以及插入逻辑
  • 亚马逊的宝藏促销活动~
  • Java全栈开发实战:从基础到微服务的深度探索
  • KNN算法详解:鸢尾花识别和手写数字识别
  • 在做题中学习(91):二叉树的锯齿形层序遍历
  • Vue3 中的 v-model 语法糖
  • 什么是token,什么叫词嵌入
  • linux系统学习(9.文件系统管理)
  • Linux Shell 编程
  • Less介绍Less变量
  • C/C++ 编程实战 -- CMake用法
  • 隧道搭建技术
  • C++/python解决OpenCV的窗口被渲染到了屏幕外,导致imshow方法无法弹出窗口问题
  • JDK12安装步骤及下载(附小白详细教程)
  • 钉钉补卡事件处理方案
  • 算法---字符串
  • FDTD_mie散射_仿真学习(2)
  • 【机器人概念设计软件操作手册】 建模技巧与最佳实践
  • 自适应RAG架构:智能检索增强生成的演进与实现
  • 前端如何使用canvas实现截图
  • Python OpenCV图像处理与深度学习:Python OpenCV入门-图像处理基础