Convert BST to Greater Tree
2017-04-27 19:50
309 查看
题目描述:
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:
思路:
中序遍历
代码:
class Solution {
public:
TreeNode* convertBST(TreeNode* root) {
if (root==NULL)
return NULL;
vector<TreeNode*> res;
inorder(root,res);
int n=res.size();
for (int i=n-2; i>=0; i--)
(res[i])->val=(res[i])->val+(res[i+1])->val;
return root;
}
void inorder(TreeNode* node, vector<TreeNode*>& res)
{
if (node==NULL)
return;
inorder(node->left,res);
res.push_back(node);
inorder(node->right,res);
}
};
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 13 Output: The root of a Greater Tree like this: 18 / \ 20 13
思路:
中序遍历
代码:
class Solution {
public:
TreeNode* convertBST(TreeNode* root) {
if (root==NULL)
return NULL;
vector<TreeNode*> res;
inorder(root,res);
int n=res.size();
for (int i=n-2; i>=0; i--)
(res[i])->val=(res[i])->val+(res[i+1])->val;
return root;
}
void inorder(TreeNode* node, vector<TreeNode*>& res)
{
if (node==NULL)
return;
inorder(node->left,res);
res.push_back(node);
inorder(node->right,res);
}
};
相关文章推荐
- Convert BST to Greater Tree
- leetcode: Convert BST to Greater Tree
- Convert BST to Greater Tree
- 538. Convert BST to Greater Tree
- lintcode(661)Convert BST to Greater Tree
- 661 - Convert BST to Greater Tree
- 538. Convert BST to Greater Tree
- Convert BST to Greater Tree
- Convert BST to Greater Tree问题及解法
- 算法分析与设计——LeetCode Problem.538 Convert BST to Greater Tree
- 538. Convert BST to Greater Tree
- 538. Convert BST to Greater Tree
- lintcode Convert BST to Greater Tree
- Convert BST to Greater Tree
- 538. Convert BST to Greater Tree
- Convert BST to Greater Tree
- Convert BST to Greater Tree
- 538. Convert BST to Greater Tree
- leetcode[Convert BST to Greater Tree]//待整理多种解法
- Convert BST to Greater Tree-LintCode