Showing:
Handle Score
@Ibrahim Nash 6420
@mb1973 5578
@Quandray 5231
@akhayrutdinov 5111
@saiujwal13083 4510
@sanjay05 3762
@kirtidee18 3673
@marius_valentin_dragoi 3522
@sushant_a 3459
@verma_ji 3412
Fixing Two nodes of a BST
Hard Accuracy: 50.0% Submissions: 20906 Points: 8

Two of the nodes of a Binary Search Tree (BST) are swapped. Fix (or correct) the BST by swapping them back. Do not change the structure of the tree.
Note: It is guaranteed than the given input will form BST, except for 2 nodes that will be wrong.

Example 1:
Input:
10
/    \
5      8
/ \
2   20
Output: 1
Explanation:


Example 2:

Input:
11
/    \
3      17
\    /
4  10
Output: 1
Explanation:
By swapping nodes 11 and 10, the BST
can be fixed.


You don't need to take any input. Just complete the function correctBst() that takes root node as parameter. The function should return the root of corrected BST. BST will then be checked by driver code and 0 or 1 will be printed.

Expected Time Complexity : O(n)
Expected Auxiliary Space : O(1)

Constraints:
1 <= Number of nodes <= 1000