Connect All Siblings of a Binary Tree

Try to solve the Connect All Siblings of a Binary Tree problem.

Statement

Given the root of a perfect binary treeA binary tree in which all the levels are completely filled with nodes, and all leaf nodes (nodes with no children) are at the same level., where each node is equipped with an additional pointer, next, connect all nodes from left to right. Do so in such a way that the next pointer of each node points to its immediate right sibling except for the rightmost node, which points to the first node of the next level.

The next pointer of the last node of the binary tree (i.e., the rightmost node of the last level) should be set to NULL.

Constraints:

  • The number of nodes in the tree is in the range [0,500][0, 500].

  • −1000≤-1000 \leq Node.data ≤1000\leq 1000

Examples