二叉树的层序遍历

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

题目描述

给定一棵二叉树,按层序(广度优先)遍历的顺序输出所有节点的值。每一层的节点值输出在同一行,层与层之间用分号分隔。

二叉树使用以下格式表示:第一个数为根节点值,随后按照层序依次给出每个节点的左右子节点值,-1 表示空节点。

例如,二叉树 [3,9,20,-1,-1,15,7] 表示:

    3
   / \
  9  20
    /  \
   15   7

层序遍历输出为:3;9 20;15 7

输入格式

第一行一个整数 n,表示节点序列的长度。第二行 n 个整数,用空格分隔,按层序表示二叉树,-1 表示空节点。

输出格式

按层输出,每层节点值用空格分隔,层与层之间用分号分隔。空节点不输出。

输入输出样例

样例 1

输入:

7
3 9 20 -1 -1 15 7

输出:

3;9 20;15 7

说明/提示

使用队列实现广度优先搜索(BFS),逐层处理节点。