尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

LC.538 | 把二叉搜索树转换为累加树 | 树 | 逆向中序遍历(右-根-左)

LC.538 | 把二叉搜索树转换为累加树 | 树 | 逆向中序遍历(右-根-左)
📅 发布时间:2026/6/18 20:10:05

输入:二叉搜索树根节点root(节点值各不相同)。

要求:将其转换为累加树(Greater Sum Tree):
每个节点的新值 = 原树中所有大于等于该节点值的节点值之和。

输出:转换后的树根节点TreeNode*(原地修改后返回root)。


思路:

BST 的中序遍历(左-根-右)是递增序列。
那我们如果想做“后缀和”(从大到小累加),就把遍历方向反过来:

逆向中序遍历:右 -> 根 -> 左
访问顺序从大到小,维护一个滚动累加sum。

遍历到某个节点时:

  1. 先走右子树(更大的值先处理)
  2. sum += node->val
  3. node->val = sum(把当前节点改成“>= 自己的总和”)
  4. 再走左子树

补充:
也能用“两次正序中序”做:第一次中序存有序数组并做后缀和映射,第二次再中序回填。
但那是 O(N) 额外空间;本题一趟逆向中序就能原地搞定。


复杂度:

  • 时间复杂度:O(N)
  • 空间复杂度:O(H)(递归栈,H 为树高)

classSolution{public:TreeNode*convertBST(TreeNode*root){sum=0;reverseInorder(root);returnroot;}private:intsum;voidreverseInorder(TreeNode*node){if(node==nullptr)return;reverseInorder(node->right);sum+=node->val;node->val=sum;reverseInorder(node->left);}};

相关新闻

  • 【好写作AI】从害怕写作到享受表达:AI改变了什么?——论文作者的心态重塑之旅
  • Elasticsearch日志接入Kibana的项目应用详解
  • MIPS/RISC-V ALU课程实验:快速理解数据通路

最新新闻

  • 上海本地贵金属流通规则,2026 黄金回收各类附加损耗明细讲解 - 奢侈品回收测评
  • 3分钟掌握Reflex框架:用纯Python构建全栈Web应用
  • OpCore-Simplify终极指南:从8小时到15分钟,轻松完成macOS安装配置
  • 2026 安徽芜湖市高考落榜怎么办?安徽工贸职业技术学院公办单招复读班招生简章官网发布:线上报名入口+完整报考指南、招生计划、录取条件 - cc江江
  • MC68HC908TV24 TIM模块深度解析:从输入捕获到PWM生成的嵌入式定时器实战
  • 2026年新疆秋季摄影旅游向导选择和北疆路线参考指南 - 盛世西域旅行

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号