116. Populating Next Right Pointers in Each Node
116. Populating Next Right Pointers in Each Node
Description
Difficulty: Medium
Related Topics: Linked List, Tree, Depth-First Search, Breadth-First Search, Binary Tree
You are given a perfect binary tree where all leaves are on the same level, and every parent has two children. The binary tree has the following definition:
1 | struct Node { |
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 1:
1 | Input: root = [1,2,3,4,5,6,7] |
Example 2:
1 | Input: root = [] |
Constraints:
- The number of nodes in the tree is in the range [0, 212 - 1].
-1000 <= Node.val <= 1000
Follow-up:
- You may only use constant extra space.
- The recursive approach is fine. You may assume implicit stack space does not count as extra space for this problem.
Hints/Notes
- 2023/08/16
- use a queue to solve the problem iteratively
- use a helper function to solve the problem recursively
- Leetcode solution
Solution
Language: C++
1 | /* |