Write a function to connect all the adjacent nodes at the same level

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 
Author: Hrishikesh Mishra