#P2203. 二叉树遍历

二叉树遍历

题目描述

小明学完了树的基本知识,想做二叉树遍历的程序设计练习。

根据二叉树的深度从数据文件中读入 nn 个整数生成顺序存储的二叉树,做各种遍历的输出。小明发现输出的数据中有不少重复的,为此他先将重复的数据过滤掉,然后再生成二叉树的结构。

现在要求你从数据文件中读取若干个整数,生成一个满二叉树,然后输出一个二叉树遍历的序列。

输入

输入包含 22 行;

第一行是两个整数 hhpphh 是二叉树的深度, h8h≤8p=1p=1 时先序输出, p=2p=2 时中序输出, p=3p=3 时后序输出。

第二行若干个整数(数字小于等于 10001000 ),读入数据前,先要计算二叉树的结点个数 nn ,然后在数据中顺序读取 nn 个不重复的整数。

例如深度为 33 的二叉树结点有 77 个。

输出

输出文只有一行,是二叉树遍历的序列。

样例

3 2
277 248 494 88 277 371 387 88 494 216 227
88 248 371 277 387 494 216

说明

【样例解释】

样例数据构建的二叉树为:

image