1
# Definition for a binary tree node.3
# def __init__(self, val=0, left=None, right=None):8
def deleteNode(self, root: Optional[TreeNode], key: int) -> Optional[TreeNode]:10
def find_inorder(root, key):15
return find_inorder(root.left, key) + [root.val] + find_inorder(root.right, key)17
def find_preorder(root, key):22
return [root.val] + find_preorder(root.left,key) + find_preorder(root.right, key)24
preorder = find_preorder(root, key)31
inorder = find_inorder(root, key)40
for i in range(len(inorder)):44
def buildTree(left, right):54
root.left = buildTree(left, index-1)55
root.right = buildTree(index+1, right)60
new_tree = buildTree(0,N-1)