This post is completed by 2 users
|
Add to List |
Convert a Sorted Doubly Linked List to Balanced BST.
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


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
Also Read: