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 = val
5
# self.left = left
6
# self.right = right
7
class Solution:
8
def convertBST(self, root: Optional[TreeNode]) -> Optional[TreeNode]:
9
ans = []
10

11
def inorder(node):
12
if not node:
13
return node
14
inorder(node.left)
15
ans.append(node.val)
16
inorder(node.right)
17

18
def dfs(node):
19
if not node:
20
return None
21
idx = ans.index(node.val)
22
node.val = node.val + sum(ans[idx + 1 :])
23
dfs(node.left)
24
dfs(node.right)
25

26
inorder(root)
27
dfs(root)
28
return root

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0