Leetcode 538. 把二叉搜索树转换为累加树 C++
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++相关推荐
- [二叉树遍历|BST]leetcode 538 把二叉搜索树转换为累加树
[二叉树遍历|BST]leetcode 538 把二叉搜索树转换为累加树 1.题目 题目链接 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree) ...
- LeetCode 538. 把二叉搜索树转换为累加树 | Python
538. 把二叉搜索树转换为累加树 题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/convert-bst-to-greater-tree 题目 给 ...
- LeetCode 538. 把二叉搜索树转换为累加树(逆中序 根右左)
文章目录 1. 题目 2. 逆中序(根右左,降序循环遍历) 1. 题目 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原 ...
- leetcode 538. 把二叉搜索树转换为累加树 思考分析
题目 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和. 提醒一 ...
- leetcode - 538. 把二叉搜索树转换为累加树
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和.(二叉查找树(Binary Sea ...
- LeetCode 538. 把二叉搜索树转换为累加树
思路:ST的中序遍历就是从小到大,那么反过来就是从大到小,然后通过num累加 int num =0;public TreeNode convertBST(TreeNode root) {if(roo ...
- LeetCode系列538—把二叉搜索树转换为累加树
题意 538. 把二叉搜索树转换为累加树 题解 方法一:反序中序遍历 class Solution {private:int sum = 0; public:TreeNode* convertBST( ...
- leetcode c++未初始化_LeetCode 力扣官方题解 | 538. 把二叉搜索树转换为累加树
力扣 538. 把二叉搜索树转换为累加树(点击查看题目) 力扣leetcode-cn.com 题目描述 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater ...
- LeetCode 力扣 538. 把二叉搜索树转换为累加树 convertBstToGreaterTree538树
大家觉得写还可以,可以点赞.收藏.关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录 538. 把二叉搜索树转换为累 ...
最新文章
- (C++)1025 PAT Ranking
- java对文本文件进行操作:读取、修改、添加、删除、重命名等
- php编写TCP服务端和客户端程序
- ubuntu下载工具aria2 uGet
- PHP中插件机制的一种实现方案
- SYSU每周一赛(13.03.16)1003
- 操作系统之内存管理:2、内存管理的功能(内存分配回收、扩充、地址转化、存储保护)
- 实现WinForm窗体的美化(借助第三方控件)
- memcached客户端(分布算法)
- org.elasticsearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state
- NAS与SAN架构:如何比较这两个存储系统
- 华为机试HJ3:明明的随机数
- Windows驱动——利用WinDriver开发PCI设备驱动程序
- 我的大学,被初恋女友甩了!
- 无损压缩——Huffman编码
- 小米路由器AX9000刷写OpenWrt官网发布的固件
- 从零开始搭建个人静态简历网站
- webpack初识体验demo
- 高斯消元法的MATLAB代码
- android 常用的代码
热门文章
- CCNP之重发布实验
- 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划
- 一个不错的用户体验地图
- H3CSE园区-AAA、RADIUS和TACACS+
- 【Python】爬取国外购物网站商品信息实战
- python瓦片图下载/合并/绘图/标记
- 努力成为架构师的你,却连架构师的分类都不清楚
- 牙科平行度计的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- vue高德单条(可批量)路线规划+单条(可批量)路线带途径节点marker+单条(可批量)路线分段渲染各颜色
- GPS 0183协议GGA、GLL、GSA、GSV、RMC、VTG解释 + 数据解析