LeetCode 538:二叉搜索树转换为累加树
LeetCode538给出二叉搜索树的根节点root该树的节点值各不相同请你将其转换为累加树Greater Sum Tree将其转换为一个更大的树使得原始二叉搜索树中的每个节点值都变为原本值加上原本二叉搜索树中所有比该节点值大的节点值的总和。提醒一下二叉搜索树满足下列约束条件节点的左子树仅包含键小于节点键的节点。节点的右子树仅包含键大于节点键的节点。左右子树也必须是二叉搜索树。示例输入[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]输出[30,36,21,36,35,26,15,null,null,null,33,null,null,null,8]Python解法DFS# Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution: def convertBST(self, root: Optional[TreeNode]) - Optional[TreeNode]: total 0 def dfs(node): nonlocal total if node: # 1. 先遍历右子树更大的数 dfs(node.right) # 2. 处理当前节点累加、更新值 total node.val node.val total # 3. 遍历左子树更小的数 dfs(node.left) dfs(root) return rootJava解法class Solution { int sum 0; public TreeNode convertBST(TreeNode root) { dfs(root); return root; } void dfs(TreeNode node) { if(node null) return; dfs(node.right); sum node.val; node.val sum; dfs(node.left); } }C解法class Solution { public: int total 0; TreeNode* convertBST(TreeNode* root) { dfs(root); return root; } void dfs(TreeNode* node) { if(!node) return; dfs(node-right); total node-val; node-val total; dfs(node-left); } };

相关新闻

嵌入式PRCM模块配置实战:电源时钟复位管理原理与调试指南

嵌入式PRCM模块配置实战:电源时钟复位管理原理与调试指南

1. 项目概述:PRCM模块在嵌入式系统设计中的核心地位在嵌入式系统,尤其是复杂的片上系统(SoC)设计中,功耗、稳定性和实时性往往是工程师需要反复权衡的“不可能三角”。一个高性能的处理器,如果其所有模块在…

2026/10/18 14:21:59 阅读更多 →
Catppuccin曼德勃罗分形壁纸:数学之美与艺术设计的结合

Catppuccin曼德勃罗分形壁纸:数学之美与艺术设计的结合

Catppuccin曼德勃罗分形壁纸:数学之美与艺术设计的结合 【免费下载链接】catppuccin-wallpapers 🖼️ Wallpapers to match your Catppuccin setups! 项目地址: https://gitcode.com/gh_mirrors/ca/catppuccin-wallpapers 探索Catppuccin曼德勃罗…

2026/10/19 4:54:23 阅读更多 →
具身智能数据工程:UMI技术路线与数据标准化路径分析

具身智能数据工程:UMI技术路线与数据标准化路径分析

具身智能数据工程:UMI技术路线与数据标准化路径分析具身智能正在从实验室走向真实工业场景,而这一进程中最关键的瓶颈并非算法架构,而是训练数据的获取与标准化。自动驾驶领域用十余年时间验证了一个核心结论:模型性能的上限由数据…

2026/10/16 19:46:03 阅读更多 →

最新新闻

open-code-review:基于 Git Diff 的可审计 AI 代码审查协议

open-code-review:基于 Git Diff 的可审计 AI 代码审查协议

1. 这不是又一个“AI代码审查”玩具:open-code-review 的真实定位与设计哲学你搜过“open-code-review”这个词,大概率会撞上一堆模糊的 GitHub 仓库、半成品 CLI 工具、或者某篇标题党文章里写着“用 LLM 彻底取代 Code Review”。但实话讲——我去年在…

2026/10/19 17:08:28 阅读更多 →
开源代码审查工具设计实践:规则引擎与CI/CD集成,让审查真正落地

开源代码审查工具设计实践:规则引擎与CI/CD集成,让审查真正落地

代码审查这件事,说起来简单,做起来全是细节。团队里总有那么一阵子,上线前靠人肉盯代码,盯到后面发现根本没时间看完,合并请求一多,review 就变成“已读不回”或“只是路过”。我做了一个叫 open-code-revi…

2026/10/19 17:08:28 阅读更多 →
SmartFusion串口通信实战:从MSS UART驱动到FPGA引脚映射的完整例程

SmartFusion串口通信实战:从MSS UART驱动到FPGA引脚映射的完整例程

简介:这份资源是面向FPGA初学者与嵌入式开发者的Actel SmartFusion串口通信例程,围绕在混合信号SoC上实现UART功能展开,帮助读者打通从硬件描述语言编程、时钟管理到固件开发的完整链路。压缩包共842个文件,约4.72MB,以…

2026/10/19 17:08:28 阅读更多 →
Pikachu靶场实战:暴力破解与验证码绕过全解析

Pikachu靶场实战:暴力破解与验证码绕过全解析

1. 先说清楚:这个模块到底在演练什么暴力破解,很多刚接触安全测试的朋友会觉得"这不就是拿个字典一直撞吗",但真到自己上手的时候,往往会卡在三个地方:第一不知道爆破目标是什么,第二不知道爆破结…

2026/10/19 17:08:28 阅读更多 →
万可GSDML文件解析:750/753系列组态与IO地址分配实战

万可GSDML文件解析:750/753系列组态与IO地址分配实战

简介:这份资源是德国万可(WAGO)公司为750与753系列数字输入输出扩展模块提供的GSD硬件配置文件包,版本号为V2.33,发布日期为2021年1月15日,面向从事工业自动化系统集成与设备组态的工程师及技术人员。GSD文…

2026/10/19 17:08:28 阅读更多 →
提示词工程进阶路线:从结构化设计到大师级工程化管理

提示词工程进阶路线:从结构化设计到大师级工程化管理

讲个真实场景:你是不是也收藏过十几个“提示词合集”,里面贴着上百条据说“封神”的模板,真到要用的时候翻来翻去却找不到一条能直接改来用的?或者更尴尬一些——你照着模板改了几个字,结果AI给出的答案驴唇不对马嘴&a…

2026/10/19 17:07:28 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →