Medium

Quiz

#116 Populating Next Right Pointers in Each Node

APPROACH

A perfect binary tree is given where every leaf is on the same level and every parent has exactly two children. The tree uses the following node structure:

struct Node {
int val;
Node *left;
Node *right;
Node *next;
}

Connect each node's next pointer to the node immediately to its right on the same level. If no such node exists, set next to NULL.

All next pointers start as NULL.

Example 1:

struct Node {
int val;
Node *left;
Node *right;
Node *next;
}

Example 2:

Input: root = [1,2,3,4,5,6,7]
Output: [1,#,2,3,#,4,5,6,7,#]
Explanation: Given the above perfect binary tree (Figure A), your function should populate each next pointer to point to its next right node, just like in Figure B. The serialized output is in level order as connected by the next pointers, with '#' signifying the end of each level.

Example 3:

Input: root = []
Output: []
1 of 4
1:00

What is the optimal approach for this problem?