Trim Binary Search Tree

treeArray
[1, 0, 2, -1]
lowInteger
1
highInteger
2
1def trimBST(root, low, high):
2  def trim(node):
3    if not node:
4      return None
5
6    # Node value < low, trim to right subtree
7    if node.val < low:
8      return trim(node.right)
9
10    # Node value > high, trim to left subtree
11    if node.val > high:
12      return trim(node.left)
13
14    # Node in range, trim both subtrees
15    node.left = trim(node.left)
16    node.right = trim(node.right)
17    return node
18
19  return trim(root)
0 / 16
L102-1