Populate Next Siblings Pointers in a Given Binary Tree OR Populate Next Right Pointers in Each Node

Objective: – Given a binary tree with three-pointers left, right, and nextSibling). Write the program to provide the nextsibling pointers.

This problem can also be referred as “Populating Next Right Pointers in Each Node

Example:

Provide the Next Siblings Pointers in a Given Binary Tree.
Provide the Next Siblings Pointers in a Given Binary Tree.

Approach:

  • Use Recursion.
  • Start from the root, if the root’s left node is not null then make it point to the root’s right child.
  • check if root’s nextsibling is not null, if NOT then make the next sibling of the root’s right node point to the root’s nextsibling’s left child. (In our example node 5 points to node 6, as per our statement, the Parent of node 5 is node 2, the next sibling of node 2 is node 3, and the left child of node 2 is node 6, So Node 5 will point to Node 6 )

Code:

1
2 3
4 5 6 7