Convert BST to Greater Tree(leetcode)
来源:互联网 发布:淘宝发布食品宝贝 编辑:程序博客网 时间:2024/06/17 00:16
Convert BST to Greater Tree
- Convert BST to Greater Tree
- 题目
- 解决
题目
leetcode题目
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
解决
题目要求是将原二叉树的每个节点的值加上原二叉树中比该节点的值大的数之和,构建一个新的Greater Tree
。
例如:下面的BST
5 18 / \ / \ 2 13 => 24 13 / \ / \ 1 4 25 22
这道题目是二叉树后序遍历的一个变形。利用一个变量sum
来记录遍历过节点的值的总和。
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* convertBST(TreeNode* root) { int sum = 0; stack<TreeNode*> tree; TreeNode* temp = root; while (!tree.empty() || temp != NULL) { while (temp != NULL) { tree.push(temp); temp = temp->right; } temp = tree.top(); tree.pop(); temp->val += sum; sum = temp->val; temp = temp->left; } return root; }};
阅读全文
0 0
- Leetcode-538. Convert BST to Greater Tree
- 【LeetCode】538. Convert BST to Greater Tree
- [leetcode] 538. Convert BST to Greater Tree
- Leetcode 538. Convert BST to Greater Tree
- leetcode 538. Convert BST to Greater Tree
- leetcode 538. Convert BST to Greater Tree
- leetcode 538. Convert BST to Greater Tree
- [leetcode]538. Convert BST to Greater Tree
- LeetCode 538. Convert BST to Greater Tree
- leetcode 538. Convert BST to Greater Tree
- [LeetCode] 538. Convert BST to Greater Tree
- [LeetCode]538. Convert BST to Greater Tree
- Leetcode 538:Convert BST to Greater Tree
- LeetCode 538. Convert BST to Greater Tree
- LeetCode-538 Convert BST to Greater Tree
- leetcode 538. Convert BST to Greater Tree
- [LeetCode]538. Convert BST to Greater Tree
- leetcode(538). Convert BST to Greater Tree
- (转载)数据库范式
- 装系统
- Java多线程学习笔记1(Thread 和 Runnable)
- 171219之从request获取各种路径总结
- SQL中的cast()函数
- Convert BST to Greater Tree(leetcode)
- recycleview多布局,带type值。
- Git 配置使用及相关命令
- java数据库连接池
- 如何在spring中配置定时任务
- Html5 Canvas 绘制虚线和实线的切换方法
- codeforces50b
- 解锁Android点击事件分发机制
- java对象实例化顺序