Binary Tree to BST
Submissions: 11144   Accuracy:


  Difficulty: Easy   Marks: 2

Given a binary tree, your task is to complete the function binaryTreeToBST which converts the binary tree to binary search tree(BST) and returns the root of the converted binary search tree.
Note : The conversion must be done in such a way that keeps the original structure of Binary Tree.

       /    \
     2       3

For the tree above the converted tree will be

      /   \
    2     4


The task is to complete the method which takes one argument, root of Binary Tree and returns the root of the new converted binary search tree.There are multiple test cases. For each test case, this method will be called individually.

The output will be the inorder traversal of the the converted  binary search tree .

1 <=T<= 30
1 <= Number of nodes<= 20


Example(To be used only for expected output):

1 2 R 1 3 L
10 20 L 10 30 R 20 40 L 20 60 R

1 2 3
10 20 30 40 60

There are two test cases.  First case represents a tree with 3 nodes and 2 edges where root is 1, left child of 1 is 3 and right child of 1 is 2.   Second test case represents a tree with 4 edges and 5 nodes.


Note:The Input/Ouput format and Example given above are used for system's internal purpose, and should be used by a user for Expected Output only. As it is a function problem, hence a user should not read any input from stdin/console. The task is to complete the function specified, and not to write the full code.

** For More Input/Output Examples Use 'Expected Output' option **

Contributor: Amit Khandelwal, Harshit Sidhwa
Author: Shubham Joshi 1

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

Need help with your code? Please use, generate link and share the link here.

to report an issue on this page.