Asked by Varun Bhatia.
Write a recursive function treeToList(Node root) that takes an ordered binary tree and rearranges the internal pointers to make a circular doubly linked list out of the tree nodes. The”previous” pointers should be stored in the “small” field and the “next” pointers should be stored in the “large” field. The list should be arranged so that the nodes are in increasing order. Return the head pointer to the new list.
This is very well explained and implemented at: Convert a Binary Tree to a Circular Doubly Link List
- Convert a Binary Tree to a Circular Doubly Link List
- Program to count leaf nodes in a binary tree
- Clone a linked list with next and random pointer | Set 1
- QuickSort on Doubly Linked List
- Lowest Common Ancestor in a Binary Search Tree.
- Find first node of loop in a linked list
- Insert a node at a specific position in a linked list
- Merge first half and reversed second half of the linked list alternatively
- Sudo Placement[1.4] | K Sum
- Microsoft Interview experience | Set 178 (On-Campus Internship for IDC)