Recover Binary Search Tree

Two elements of a binary search tree (BST) are swapped by mistake.
Tell us the 2 values swapping which the tree will be restored.

A solution using O(n) space is pretty straight forward. Could you devise a constant space solution?

Example :

Input : 
        / \
       2   3

Output : 
       [1, 2]

Explanation : Swapping 1 and 2 will change the BST to be 
        / \
       1   3
which is a valid BST          
NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a doubt? Checkout Sample Codes for more details.
Start solving Recover Binary Search Tree on Interview Code Editor
Sign Up
to access hints and editorial solutions for Recover Binary Search Tree
3398 successful submissions.
Asked In:
  • Microsoft
Click here to start solving coding interview questions