Connect Nodes at Same Level
Write a function to connect all the adjacent nodes at the same level
Solution:
- Use queue for level order traversal with some level separator
Algorithm:
- Take a queue to traverse in level order
- And previous node to point previous element of same level
- Traverse tree in level order
node = queue.dequeue
- if previous is not null then
previous.next = node
- enqueue node children in queue
- if node is last node a level then
- reset previous to null
Latest Source Code:
Github: BinaryTreeSameLevelNodeConnecter.java
Output:
10 / \ / \ 3 5 / \ \ 4 1 2 Printing level by level : 10 3 5 4 1 2