Convert BST to Greater Tree LeetCode solution in Python
1# Definition for a binary tree node.2# class TreeNode:3# def __init__(self, val=0, left=None, right=None):4# self.val = val5# self.left = left6# self.right = right7class Solution:8def convertBST(self, root: Optional[TreeNode]) -> Optional[TreeNode]:9ans = []1011def inorder(node):12if not node:13return node14inorder(node.left)15ans.append(node.val)16inorder(node.right)1718def dfs(node):19if not node:20return None21idx = ans.index(node.val)22node.val = node.val + sum(ans[idx + 1 :])23dfs(node.left)24dfs(node.right)2526inorder(root)27dfs(root)28return root