LeetCode solutions

1114. Binary Search Tree to Greater Sum Tree

My accepted Python solution to LeetCode problem 1114, Binary Search Tree to Greater Sum Tree, running in 0ms.

  • Difficulty: Medium
  • Python
  • Runtime 0ms
  • Memory 17.4MB

Read the problem on LeetCode View on GitHub

Python

Accepted on LeetCode — runtime 0ms, memory 17.4MB, accepted 2026-01-02.

python
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def bstToGst(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
        self.running_sum = 0
        
        def reverse_inorder(node):
            if not node:
                return
            
            # Process right subtree first (greater values)
            reverse_inorder(node.right)
            
            # Update current node
            self.running_sum += node.val
            node.val = self.running_sum
            
            # Process left subtree
            reverse_inorder(node.left)
        
        reverse_inorder(root)
        return root

Source