[LeetCode]538. Convert BST to Greater Tree
题目描述
思路
实际上是二叉树的中序遍历,顺序为 右-中-左
代码
#include <iostream>
using namespace std;
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) :val(x), left(NULL), right(NULL) {}
};
class Solution {
public:
void travel(TreeNode* root) {
if (root == NULL) return;
if (root->right) travel(root->right);
curSum += root->val;
root->val = curSum;
if (root->left) travel(root->left);
}
TreeNode* convertBST(TreeNode* root) {
travel(root);
}
private:
int curSum = 0;
};
本文介绍了一种将二叉搜索树(BST)转换为大于树的方法。通过中序遍历的方式,按照右-中-左的顺序进行节点值的更新,使得每个节点的新值等于原值加上所有大于它的节点值之和。
349

被折叠的 条评论
为什么被折叠?



