Problem6177--重建二叉树

6177: 重建二叉树

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

给一个 $n$ 个节点的二叉树,节点编号为 $1 \sim n$。
输入这颗二叉树前序遍历和中序遍历的结果,请重建该二叉树。
数组下标从 $1$ 开始。
保证:
1、二叉树中每个节点的值都互不相同;
2、输入的前序遍历和中序遍历一定合法;

Input

第一行一个整数 $n$,表示二叉树的节点数量
第二行包括 $n$ 个整数,表示这颗二叉树的前序遍历结果。
第三行包括 $n$ 个整数,表示这颗二叉树的前序遍历结果。

Output

一共 $2n+1$ 个数据。
下标 $i$ 表示节点的编号,下标 $2i$ 表示该节点的左儿子,下标 $2i+1$ 表示该节点的右儿子。如果没有对应的信息,使用 $-1$ 表示。

Sample 1 Input

5
3 9 20 15 7
9 3 15 20 7

Sample 1 Output

3 9 20 -1 -1 15 7 -1 -1 -1 -1

HINT

题目来源:AcWing 18

Source/Category