#P3992. 二叉树的读入与构建(数组形式)

二叉树的读入与构建(数组形式)

题目内容

给定一个整数数组 nums,其中 nums[i] 表示二叉树节点的值。 按照以下规则构建二叉树

  • 根节点nums[0]
  • 左子节点nums[i] 的左子节点是 nums[2*i + 1]
  • 右子节点nums[i] 的右子节点是 nums[2*i + 2]
  • -1 表示 空节点,在构建树时跳过该节点。

你的任务是

  1. 先构造这棵二叉树。
  2. 层序遍历(BFS) 输出树的所有节点值,每个值占一行。

输入描述

输入一行,包含 若干整数,表示二叉树的层序数组表示。 (可能包含 -1,表示空节点)

输出描述

按照层序遍历输出二叉树的所有节点,每个值占一行。

样例 1

输入

1 2 3 4 5 -1 6

树的结构

       1
      / \
     2   3
    / \   \
   4   5   6

输出

1
2
3
4
5
6

样例 2

输入

5 3 8 -1 4 7 10

树的结构

       5
      / \
     3   8
      \  / \
      4 7  10

输出

5
3
8
4
7
10