"""
since this is a BST, we can do a inorder traversal (inversed, from right to left),
during this process, track the sum and update the node.val
"""
class Solution:
def convertBST(self, root):
self.total = 0
def helper(node):
if not node: return
helper(node.right)
node.val += self.total
self.total = node.val
helper(node.left)
helper(root)
return root