二叉树的层序遍历

已关闭
dadingPython / C++入场费 2 金币1 次提交

题目描述

给定一棵二叉树的根节点,请你按层从左到右遍历并输出所有节点的值。

层序遍历是指按从上到下、从左到右的顺序依次访问每个节点,即广度优先搜索(BFS)的结果。

每一层的节点需要输出到同一行,相邻层之间换行。

输入格式

第一行一个整数 n(0 ≤ n ≤ 1000),表示节点个数。 第二行 n 个整数(按层序遍历顺序),-1 表示空节点(-1 ≤ val ≤ 1000)。

输出格式

若干行,每行对应二叉树的一层,节点值用空格分隔。

输入输出样例

样例 1

输入:

5
1 2 3 4 5

输出:

1
2 3
4 5

样例 2

输入:

1
1

输出:

1

样例 3

输入:

0

输出:

说明/提示

使用队列(BFS),每次处理一层。可以用 None 或特殊标记分隔层与层。