一、编程题(共4题,共100分)
T1.重建二叉树
给定一棵二叉树的前序遍历和中序遍历的结果,求其后序遍历。
时间限制:1000
内存限制:65536
输入
输入可能有多组,以EOF结束。 每组输入包含两个字符串,分别为树的前序遍历和中序遍历。每个字符串中只包含大写字母且互不重复。
输出
对于每组输入,用一行来输出它后序遍历结果。
样例输入
DBACEGF ABCDEFG
BCAD CBAD
样例输出
ACBFGED
CDAB
//示例代码
#include <bits/stdc++.h>
using namespace std;
char a[30],b[30];
string ta,tb;
int la,lb;
void build(int l1,int r1,int l2,int r2){
int m=tb.find(ta[l1]);
if(m>l2)build(l1+1,l1+m-l2,l2,m-1);
if(m<r2)build(l1+m-l2+1,r1,m+1,r2);
cout<