Leetcode 538. 把二叉搜索树转换为累加树

题目

给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。

测试样例:

输入: 原始二叉搜索树:5/   \2     13输出: 转换为累加树:18/   \20     13

注意:本题和 1038: https://leetcode-cn.com/problems/binary-search-tree-to-greater-sum-tree/ 相同

题解

对于二叉搜索树,其中序遍历的结果是递增的。因此,如果我们使用中序遍历,对于当前节点其后面遍历的结点都大于当前节点。因为,我们不按左中右的方式进行遍历,而是按照右中左的方式进行遍历,我们将遍历的结果累加起来,显然对当前节点就是加上之前的结果。详细过程见代码

代码

 int val = 0;TreeNode* convertBST(TreeNode* root) {if(root == NULL)    return nullptr;convertBST(root->right);val += root->val;root->val = val;convertBST(root->left);return root; }

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/convert-bst-to-greater-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Leetcode 538. 把二叉搜索树转换为累加树 C++相关推荐

  1. [二叉树遍历|BST]leetcode 538 把二叉搜索树转换为累加树

    [二叉树遍历|BST]leetcode 538 把二叉搜索树转换为累加树 1.题目 题目链接 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree) ...

  2. LeetCode 538. 把二叉搜索树转换为累加树 | Python

    538. 把二叉搜索树转换为累加树 题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/convert-bst-to-greater-tree 题目 给 ...

  3. LeetCode 538. 把二叉搜索树转换为累加树(逆中序 根右左)

    文章目录 1. 题目 2. 逆中序(根右左,降序循环遍历) 1. 题目 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原 ...

  4. leetcode 538. 把二叉搜索树转换为累加树 思考分析

    题目 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和. 提醒一 ...

  5. leetcode - 538. 把二叉搜索树转换为累加树

    给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和.(二叉查找树(Binary Sea ...

  6. LeetCode 538. 把二叉搜索树转换为累加树

    思路:ST的中序遍历就是从小到大,那么反过来就是从大到小,然后通过num累加  int num =0;public TreeNode convertBST(TreeNode root) {if(roo ...

  7. LeetCode系列538—把二叉搜索树转换为累加树

    题意 538. 把二叉搜索树转换为累加树 题解 方法一:反序中序遍历 class Solution {private:int sum = 0; public:TreeNode* convertBST( ...

  8. leetcode c++未初始化_LeetCode 力扣官方题解 | 538. 把二叉搜索树转换为累加树

    力扣 538. 把二叉搜索树转换为累加树(点击查看题目) 力扣​leetcode-cn.com 题目描述 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater ...

  9. LeetCode 力扣 538. 把二叉搜索树转换为累加树 convertBstToGreaterTree538树

    大家觉得写还可以,可以点赞.收藏.关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录 538. 把二叉搜索树转换为累 ...

最新文章

  1. (C++)1025 PAT Ranking
  2. java对文本文件进行操作:读取、修改、添加、删除、重命名等
  3. php编写TCP服务端和客户端程序
  4. ubuntu下载工具aria2 uGet
  5. PHP中插件机制的一种实现方案
  6. SYSU每周一赛(13.03.16)1003
  7. 操作系统之内存管理:2、内存管理的功能(内存分配回收、扩充、地址转化、存储保护)
  8. 实现WinForm窗体的美化(借助第三方控件)
  9. memcached客户端(分布算法)
  10. org.elasticsearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state
  11. NAS与SAN架构:如何比较这两个存储系统
  12. 华为机试HJ3:明明的随机数
  13. Windows驱动——利用WinDriver开发PCI设备驱动程序
  14. 我的大学,被初恋女友甩了!
  15. 无损压缩——Huffman编码
  16. 小米路由器AX9000刷写OpenWrt官网发布的固件
  17. 从零开始搭建个人静态简历网站
  18. webpack初识体验demo
  19. 高斯消元法的MATLAB代码
  20. android 常用的代码

热门文章

  1. CCNP之重发布实验
  2. 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划
  3. 一个不错的用户体验地图
  4. H3CSE园区-AAA、RADIUS和TACACS+
  5. 【Python】爬取国外购物网站商品信息实战
  6. python瓦片图下载/合并/绘图/标记
  7. 努力成为架构师的你,却连架构师的分类都不清楚
  8. 牙科平行度计的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  9. vue高德单条(可批量)路线规划+单条(可批量)路线带途径节点marker+单条(可批量)路线分段渲染各颜色
  10. GPS 0183协议GGA、GLL、GSA、GSV、RMC、VTG解释 + 数据解析