给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 例如: 输入: 二叉搜索树: 5 / 2 13 输出: 转换为累加树: 18 / 20 13
class Solution {
public:
int sum
= 0;
TreeNode
* convertBST(TreeNode
* root
) {
if(root
) {
convertBST(root
->right
);
sum
+= root
->val
;
root
->val
= sum
;
convertBST(root
->left
);
}
return root
;
}
};
转载请注明原文地址: https://mac.8miu.com/read-516469.html