defĀ predecessorSuccessor(root,Ā key):
prev = -1
succ = -1
defĀ helper(node):
nonlocalĀ prev,nex
ifĀ nodeĀ isĀ None:
return
ifĀ key < node.data:
succ = node.data
helper(node.left)
elifĀ key > node.data:
prev = node.data
helper(node.right)
else:
helper(node.left)
helper(node.right)
helper(root)
returnĀ [prev, succ]