给出二叉树的前序、中序遍历序列,计算后序遍历序列。
#include <iostream>
#include <string>
using namespace std;
char last[30];
int t;
void solve(string first,string mid){
if(first.length()==0) return;
if(first.length()==1){
last[t++]=first[0];
return;
}
int m=mid.find(first[0]);
solve(first.substr(1,m),mid.substr(0,m));
solve(first.substr(m+1,first.length()-m-1),mid.substr(m+1,mid.length()-m-1));
last[t++]=first[0];
}
int main(){
string first,mid;
while(cin>>first>>mid){
int l=first.length();
t=0;
solve(first,mid);
last[l]='\0';
cout<<last<<endl;
}
return 0;
}