1038. Binary Search Tree to Greater Sum Tree

Previous1008. Construct Binary Search Tree from Preorder TraversalNext1110. Delete Nodes And Return Forest
Last updated

Last updated
Input: [4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]
Output: [30,36,21,36,35,26,15,null,null,null,33,null,null,null,8]// Reverse In-Order Traversal
void helper(TreeNode*& node, int& preSum) {
if (!node) return;
helper(node->right, preSum);
node->val += preSum;
preSum = node->val;
helper(node->left, preSum);
return;
}
TreeNode* bstToGst(TreeNode* root) { // time: O(n); space: O(h)
int preSum = 0;
helper(root, preSum);
return root;
}