Solution: Flatten Binary Tree to Linked List
Explore how to transform a binary tree into a linked list by using depth-first search techniques. Understand the process of rearranging nodes in preorder traversal order without extra space. Learn to find the rightmost node in the left subtree and rewire pointers to flatten the tree efficiently.
Statement
Given the root of a binary tree, the task is to flatten the tree into a linked list using the same TreeNode class. The left child pointer of each node in the linked list should always be NULL, and the right child pointer should point to the next node in the linked list. The nodes in the linked list should be in the same order as that of the preorder traversal of the given binary tree.
Constraints:
-
Node.Data.