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

对于每一个点来说,自己的父,和自己父的右子树都是大于自己的。

所以我们按右中左的顺序遍历,每个遍历到的值,比它大的值一定都被遍历过了。

遍历过程中记录和就好。

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {int add = 0;public TreeNode convertBST(TreeNode root) {if (root == null) return root;convertBST(root.right);root.val += add;add = root.val;convertBST(root.left);return root;}
}

leetcode538 把二叉搜索树转换成累加树相关推荐

  1. leetcode题解538-把二叉搜索树转化为累加树

    问题描述 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和. 解题思路 要找到比某个 ...

  2. LeetCode -538 把二叉搜索树转化为累加树(C语言描述)

    题目描述: 题目来源: https://leetcode-cn.com/problems/convert-bst-to-greater-tree/ 思路: 采用递归反序中序遍历实现,因为二叉搜索树右节 ...

  3. 数据结构:将二叉搜索树转换成一个排序的双向链表

    1.将二叉搜索树转换成一个排序的双向链表.提示:要求不能创建任何新的结点,只能调整树中结点指针的指向,也就是left当prev,right当next.--中序线索化的变型. Node* BSTreeT ...

  4. 剑指offer(C++)-JZ36:二叉搜索树与双向链表(数据结构-树)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.如下图所示 数据范围:输 ...

  5. 08_Python算法+数据结构笔记-二叉搜索树查询/删除-AVL树旋转/插入/应用-贪心算法

    b站视频:路飞IT学城 清华计算机博士带你学习Python算法+数据结构_哔哩哔哩_bilibili #71 二叉搜索树:查询 import randomclass BiTreeNode:def __ ...

  6. C语言二叉搜索树返回key的树级(附完整源码)

    C语言二叉搜索树返回key的树级 C语言二叉搜索树返回key的树级完整源码(定义,实现,main函数测试) C语言二叉搜索树返回key的树级完整源码(定义,实现,main函数测试) #include ...

  7. leetcode538. 把二叉搜索树转换为累加树

    一:题目 二:上码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* Tre ...

  8. 【数据结构与算法】之深入解析“把二叉搜索树转换为累加树”和“从二叉搜索树到更大和树”的求解思路与算法示例

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

  9. LintCode 661. 把二叉搜索树转化成更大的树

    描述 给定二叉搜索树(BST),将其转换为更大的树,使原始BST上每个节点的值都更改为在原始树中大于等于该节点值的节点值之和(包括该节点). 样例 样例1: 输入 : {5,2,13}5/ \2 13 ...

最新文章

  1. 示范园谋定小农户-丰收节交易会·万祥军:衔接现代农业
  2. python语音引擎深度学习_python深度学习之语音识别(speech recognize)
  3. Git学习总结(一)
  4. 通过libusb操作usb设备扫描二维码
  5. canvas的简单实例集合
  6. springmvc + ajaxfileupload 实现异步上传文件(图片)
  7. jdbc mysql user_tab_comments_mysql/jdbc:设置useInformationSchema=true读取表注释信息(table_comment)...
  8. #1123-JSP隐含对象
  9. 小米 android 8,小米华为们谁最良心?10大手机厂商安卓8.0升级情况盘点
  10. python 爱心文字墙_python奇技淫巧 | nMask's Blog
  11. 复制网页上无法选中的文字
  12. 关于机械革命电脑关机后自动重启的解决方案
  13. 设计模式-文本编辑器
  14. 关于概率论和模糊数学的区别
  15. [Keil 烧录器下载报错] “Flash Timeout. Reset the Target and try it again”
  16. hdu 6078 Wavel Sequence
  17. 08-02-loggin-模块
  18. 全网最详细 解决戴维南定理的详细推导
  19. 走向架构师必备的技能
  20. django多对多展示

热门文章

  1. UE4--多线程的实现方式
  2. WinCE6下的kernelIoControl使用方法
  3. c++邮递员投递经过特定点_厉害了斑马鱼,动物实验体天团C位
  4. 【转】DICOM图像像素值(灰度值)转换为CT值
  5. 【转】c#数字图像处理(三)灰度直方图
  6. 【转】设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示
  7. 【转】setsocketopt getsocketopt比较全的参数说明
  8. [你必须知道的.NET]第二十四回:认识元数据和IL(上)
  9. ABP入门系列(8)——Json格式化
  10. 【软技能】代码先放一放,学习一下工程的概念