求二叉树的先序遍历
Time Limit: 1000MS Memory Limit: 65536KB
Problem Description
已知一棵二叉树的中序遍历和后序遍历,求二叉树的先序遍历
Input
输入数据有多组,第一行是一个整数t (t<1000),代表有t组测试数据。每组包括两个长度小于50 的字符串,第一个字符串表示二叉树的中序遍历序列,第二个字符串表示二叉树的后序遍历序列。
Output
输出二叉树的先序遍历序列
Example Input
2 dbgeafc dgebfca lnixu linux
Example Output
abdegcf xnliu
DQE:
本题考查的主要内容是已知中序和后序遍历序列还原二叉树,需要注意后序的结构为(左子树,右子树,根),递归时倒取字符,先创建右子树。
附先序中序还原二叉树链接:http://www.cnblogs.com/Mimick/p/6031657.html
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 5 using namespace std; 6 7 struct Tree 8 { 9 char c; 10 Tree *lt,*rt; 11 }; 12 13 Tree *creat(char *&hx,char *zx) 14 { 15 if(*zx=='