323. Correct BST with two nodes swapped
Given the root of a binary search tree (BST), where the values of exactly two nodes of the tree were swapped by mistake.
Recover the tree without changing its structure.
Example 1:
Input : root = [1, 3, null, null, 2]
Output : [3, 1, null, null, 2]
Explanation :
3 cannot be a left child of 1 because 3 > 1. Swapping 1 and 3 makes the BST valid.


Example 2:
Input : root = [3, 1, 4, null, null, 2]
Output : [2, 1, 4, null, null, 3]
Explanation :
2 cannot be in the right subtree of 3 because 2 < 3. Swapping 2 and 3 makes the BST valid.

Now Your Turn!
Pick the correct output for the given inputInput : root = [2, 1, 3, null, null, 4]
Still unsure what the problem is asking ?
Let’s go through a few more examples, step by step, to make it clearer.
Constraints:
- 1 <= Number of Nodes <= 104
- -231 <= Node.val <= 231 - 1