填充每个节点的下一个右侧节点指针
Tips
题目类型: Tree
题目
给定一个完美二叉树, 其所有叶子节点都在同一层, 每个父节点都有 两个子节点. 二叉树定义如下:
struct Node {
int val;
Node *left;
Node *right;
Node *next;
}
填充它的每个 next 指针, 让这个指针指向其下一个右侧节点. 如果找不到下一个右侧节点, 则将 next 指针设置为 NULL 初始状态下, 所有 next 指针都被设置为 NULL.
进阶:
你只能使用常量级额外空间.
使用递归解题也符合要求, 本题中递归程序占用的栈空间不算做额外的空间复杂度.
示例
输入:
1
/ \
2 3
/ \ / \
4 5 6 7
输出:
1 -> null
/ \
2 -> 3 -> null
/ \ / \
4 ->5->6-> 7 -> null