#J00243. T3 二叉树还原(rebuild)
0
T3 二叉树还原(rebuild)
T3 二叉树还原(rebuild)
题目描述
给定一棵有 个节点的二叉树。节点编号为 ,且每个节点的编号互不相同。
我们已经知道了这棵二叉树的先序遍历序列与中序遍历序列。请你据此求出它的后序遍历序列。
输入文件 rebuild.in,输出文件 rebuild.out。
输入格式
输入共三行。
第一行包含一个正整数 ,表示节点个数。
第二行包含 个互不相同的正整数,表示先序遍历序列。
第三行包含 个互不相同的正整数,表示中序遍历序列。
保证给出的先序与中序序列能够唯一确定一棵二叉树。
输出格式
输出共一行,包含 个用单个空格隔开的整数,表示后序遍历序列。
样例 1 输入
5
1 2 4 3 5
2 4 1 5 3
样例 1 输出
4 2 5 3 1
样例 1 解释
根据先序 与中序 可以还原出:
- 根为 ;
- 根 的左子树由 构成,右子树由 构成;
- 左子树中根为 ,且 是 的右孩子;
- 右子树中根为 ,且 是 的左孩子。
后序遍历(左、右、根)即为 。
样例 2 输入
8
2 3 1 4 8 6 7 5
1 4 3 6 8 2 7 5
样例 2 输出
4 1 6 8 3 5 7 2
数据规模与约定
- 对于 的数据,保证 。
- 对于另 的数据,保证 。
- 对于 的数据,保证 ,节点编号为 的一个排列。
相关
在下列比赛中: