问题描述 |
---|
二叉树(Binary tree)是树形结构的一个重要类型,它是 N 个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。 现在给你一棵已经构造好的二叉树和 N 个值,你需要合理地把这些值放到这棵二叉树的各个节点上来满足:对于任意一个节点,其左孩子(如果有)比自己小,右孩子(如果有)比自己大。 |
输入描述 |
输入的第 1 行包含一个正整数 N。(1 <= N <= 100) 第 2 行有 N 个 int 类型的数字,表示【描述】中给定的值。 接下来的 N 行,每行有 2 个数,分别代表从根节点开始,每个节点左右孩子的数量,输入的顺序按照从根节点往下递归。 特别地,当为叶子节点时,这两个数值都为 -1。 |
输出描述 |
输出该二叉树的层序遍历结果,每两个数字之间用空格隔开,最后一个数后面没有空格和换行。 |
样例输入复制样例 |
7 5 2 3 4 7 6 9 3 3 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 |
样例输出 |
5 3 7 2 4 6 9 |
提示说明 |
样例中的二叉树如下图 |
相关 |