Problem
Given a binary tree
1 | struct TreeLinkNode { |
Populate each next pointer to point to its next right node. If there is no next right node, the next pointer should be set to NULL
.
Initially, all next pointers are set to NULL
.
Example
Given the following perfect binary tree,
1 | 1 |
After calling your function, the tree should look like:
1 | 1 -> NULL |
Note
- You may only use constant extra space.
- Recursive approach is fine, implicit stack space does not count as extra space for this problem.
- You may assume that it is a perfect binary tree (ie, all leaves are at the same level, and every parent has two children).
Solution
Method: Breadth-first Search
Time Complexity:
Space Complexity:
1 | # Definition for binary tree with next pointer. |