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/7/25 6:31:11 阅读更多 →
Catppuccin曼德勃罗分形壁纸:数学之美与艺术设计的结合

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

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

2026/7/24 4:01:33 阅读更多 →
具身智能数据工程:UMI技术路线与数据标准化路径分析

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

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

2026/7/25 17:25:42 阅读更多 →

最新新闻

UE5 AI控制SKM_Manny角色:解决动画与行为树冲突的完整方案

UE5 AI控制SKM_Manny角色:解决动画与行为树冲突的完整方案

1. 项目概述:当AI Controller遇上SKM_Manny最近在尝试用UE5的AI Controller来控制Epic官方提供的SKM_Manny角色时,我遇到了不少预料之外的问题。这听起来像是一个标准的“AB”组合,毕竟AI Controller是UE里控制NPC行为逻辑的核心组件&#xf…

2026/7/25 20:13:40 阅读更多 →
Unity新手入门:从零安装到核心界面与脚本交互全解析

Unity新手入门:从零安装到核心界面与脚本交互全解析

1. 项目概述:从爬虫到Unity,一次跨界学习的探索最近在学Python爬虫,第二天就有点“坐不住”了,想换个脑子,于是决定开个新坑,研究一下Unity。这听起来可能有点跳跃,一个是数据抓取,一…

2026/7/25 20:13:40 阅读更多 →
3个关键策略:用Pearcleaner优化macOS开发环境的存储管理

3个关键策略:用Pearcleaner优化macOS开发环境的存储管理

3个关键策略:用Pearcleaner优化macOS开发环境的存储管理 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner 在macOS开发工作中,我们常常…

2026/7/25 20:13:40 阅读更多 →
终极指南:三步掌握MetricFlow高效指标管理与数据分析

终极指南:三步掌握MetricFlow高效指标管理与数据分析

终极指南:三步掌握MetricFlow高效指标管理与数据分析 【免费下载链接】metricflow MetricFlow allows you to define, build, and maintain metrics in code. 项目地址: https://gitcode.com/gh_mirrors/me/metricflow MetricFlow是一个强大的开源语义层工具…

2026/7/25 20:13:40 阅读更多 →
YOLOv11在餐饮场景下的目标检测优化实践

YOLOv11在餐饮场景下的目标检测优化实践

1. 项目背景与核心价值去年指导本科生毕业设计时,遇到一个典型的场景需求:某连锁餐饮集团希望用计算机视觉技术优化门店运营效率。学生们最初提出的方案是用OpenCV做简单的人体检测,但实际测试发现误检率高达40%。这个案例让我意识到&#xf…

2026/7/25 20:13:40 阅读更多 →
教育科技产品如何安全可控地向学生提供AI辅导功能

教育科技产品如何安全可控地向学生提供AI辅导功能

教育科技产品如何安全可控地向学生提供AI辅导功能 在教育科技领域,为不同年龄段和学段的学生提供AI辅导功能,已成为提升学习效率和个性化体验的重要手段。然而,将大模型能力集成到教育产品中,面临着管理复杂、成本不可控、使用行…

2026/7/25 20:12:40 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 5:08:22 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 5:13:53 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻