题目
代码(首刷自解)
累加树:使得每个节点的值是原来的节点值加上所有大于它的节点值之和。
这题和剑指 Offer 54. 二叉搜索树的第k大节点(⭐)类似。
class Solution {
public:
TreeNode* prev;
int sum;
TreeNode* convertBST(TreeNode* root) {
traverse(root);
return root;
}
void traverse(TreeNode* root) {
if(!root)
return;
traverse(root->right);
sum += root->val;
root->val = sum;
traverse(root->left);
}
};