# 力扣116. 填充每个节点的下一个右侧节点指针


## 力扣116. Populating Next Right Pointers in Each Node（填充每个节点的下一个右侧节点指针）

给定一个完美二叉树，其所有叶子节点都在同一层，每个父节点都有两个子节点。填充它的每个 next 指针，让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点，则将 next 指针设置为 NULL。

示例 1：

![](../posts/01_学习/87_LeetCode/0116_填充每个节点的下一个右侧节点指针/img/0116-1-description.png)

```
输入：root = [1,2,3,4,5,6,7]
输出：[1,#,2,3,#,4,5,6,7,#]
解释：给定二叉树如图 A 所示，你的函数应该填充每个 next 指针指向其下一个右侧节点，如图 B 所示。序列化的输出按层序遍历排列，同一层节点由 next 指针连接，'#' 标识每层的末尾。
```

示例 2：

```
输入：root = []
输出：[]
```

提示：
- 树中节点数量在 [0, 2^12-1] 范围内
- -1000 <= node.val <= 1000

进阶：
- 你只能使用常量级额外空间吗？
- 使用递归解题也符合要求，本题中递归程序占用的栈空间不算做额外的空间复杂度。

