Objective: Given a sorted doubly linked list, convert it into Balanced binary search tree
Input: A Doubly Linked List
Example:
Approach:
- Get the size of the Doubly Linked list.
- Take left n/2 nodes and recursively construct left subtree
- Make the middle node as root and assign the left subtree( constructed in step 2) to root’s left.
- Recursively construct right subtree and link it to the the right of root made in step 3.
- See picture below
Complete Code:
Output :
DLL is : 1 2 3 4 5 6 7 8 9 Inorder traversal of contructed BST 1 2 3 4 5 6 7 8 9