538. Convert BST to Greater Tree*
538. Convert BST to Greater Tree*
https://leetcode.com/problems/convert-bst-to-greater-tree/
题目描述
Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is changed to the original key plus sum of all keys greater than the original key in BST.
Example:
Input: The root of a Binary Search Tree like this:5/ \2 13Output: The root of a Greater Tree like this:18/ \20 13
C++ 实现 1
中序遍历, 使用一个 “global” 的变量 sum
来存储目前已经访问的节点值的和.
class Solution {private:int sum = 0;
public:// 使用中序遍历, 但是先访问右子树, 再访问根节点, 最后访问// 左子树, 这样的话, 元素是从大到小排列, 使用 sum 记录访问// 到当前元素时, 前面已访问过的元素的和是多少, 访问完当前// 根节点的元素后, 不要忘记更新 sum 的值.TreeNode* convertBST(TreeNode* root) {if (!root)return nullptr;convertBST(root->right);root->val += sum;sum = root->val;convertBST(root->left);return root;}
};
538. Convert BST to Greater Tree*相关推荐
- 538. Convert BST to Greater Tree
题目描述: Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the orig ...
- Leetcode——538. Convert BST to Greater Tree
题目原址 https://leetcode.com/problems/convert-bst-to-greater-tree/description/ 题目描述 Given a Binary Sear ...
- 【LeetCode】538. Convert BST to Greater Tree 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 日期 题目地址:https://leetcod ...
- 538. Convert BST to Greater Tree 把二叉搜索树转换为累加树
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和. 例如: 输入: 原始二叉搜索树: ...
- Leetcode 538 - Convert BST to Greater Tree
题意 给一个BST,改变其节点的值,将其节点的值加上所有比他大的节点的值 思路 首先注意是BST,其中序遍历的节点是递增序列.即假设中序遍历后的结果是a0,a1,a2,....ana_0, a_1, ...
- Golang Leetcode 538. Convert BST to Greater Tree.go
思路 因为给定的树是BST,所以可以知道如果采用后续遍历的方式,第一个找到的节点应该是最大的节点.所以采用递归的方式从最大的节点开始改变树的值 code var sum intfunc convert ...
- LeetCode: Convert BST to Greater Tree
利用好BST的特性,解起来并不难 1 /** 2 * Definition for a binary tree node. 3 * public class TreeNode { 4 * int va ...
- 11/100. Convert BST to Greater Tree
给定一个二叉搜索树(左节点值<根节点值<右节点值),输出:左=左+根+右,根=根+右,右=右. 从右子树至左子树进行相加,返回left(相加最大值),"temp"用来记 ...
- BST(Binary Search Tree 二叉查找树模版)
/****************************************** 数据结构: BST(Binary Search Tree),二叉查找树;性质: 若结点的左子树不空,则左子树上所 ...
最新文章
- springmvc+mybatis+spring+redis
- 数据结构:堆python实现与堆排序
- Devexpress中Tdxnavbar的使用
- Mysql错误1366的解决办法:Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
- markdown编辑数学公式
- Rust 能取代 Python,更好的实现神经网络?
- 代码可读性、可调式、可维护性
- MongoDB 之聚合函数查询统计
- 一种将排序值换算为得分值的方法
- vue 接口请求下载文件
- cpu飙升 死循环_CPU飙升问题的解决实例
- linux多点触控软件测试,视频:Linux系统也可支持多点触控操作
- OOM and SOF
- 微型计算机鸡兔同笼,《鸡兔同笼》问题研究
- 高级安全Windows防火墙管理单元无法加载。请重新启动正在管理的计算机上的Windows防火墙服务,报错代码:0x6D9
- 电脑连上了WiFi,却发现没有网(昨天还好好的)
- VMware创建共享文件夹并实现文件传输(Windows主机,Ubuntu虚拟机)
- windows服务启动 1053错误
- sim卡无线上网公用服务器,云SIM卡池,云SIM卡解决方案,流量分发随身WIFI方案( 忻瑞科技)...
- Discuz论坛邮箱配置