100 #P1250. 【挑战题】二叉树的三种遍历
【挑战题】二叉树的三种遍历
题目描述
有一棵有n个节点的二叉树,给出每个节点的子节点编号,建立一棵二叉树(根节点为A),如果是叶子节点,则输入0 0。
建好这棵二叉树之后,分别求出它的先序,中序和后序遍历。
输入格式
第 1 行一个正整数n表示该二叉树节点总数; 接下的 n 行,第 i 行两个字符 l,r 分别表示结点i的左右子节点,若 l 为‘0',则表示无左子节点,同理若 r 为 '0',则表示无右子节点。
输出格式
第 1 行,为n个数(中间一个空格间隔),表示这棵二叉树的先序遍历; 第 2 行,为n个数(中间一个空格间隔),表示这棵二叉树的中序遍历; 第 3 行,为n个数(中间一个空格间隔),表示这棵二叉树的后序遍历;
样例1
7
2 7
4 0
0 0
0 3
0 0
0 5
6 0
1 2 4 3 7 6 5
4 3 2 1 6 5 7
3 4 2 5 6 7 1
样例2
4 3 10
1
数据范围
1 ≤ n, ≤ 500; 数据保证节点编号均为1~n之间的正整数。