#include<bits/stdc++.h>
using namespace std;
struct Tnode {
char data;
Tnode *l,*r;
};
Tnode* build(char *pre,char *mid,int len) {
if (len==0) return NULL;
char c=pre[0]; int r=0;
while (mid[r]!=c) r++;
Tnode *T=new Tnode; T->data=c;
T->l=build(pre+1,mid,r);
T->r=build(pre+r+1,mid+r+1,len-r-1);
}
void print(Tnode *T) {
if (T) {
print(T->l);
print(T->r);
cout<<T->data;
}
}
int main() {
string a,b; cin>>a>>b;
int c=a.size();
char *pre=new char;
char *mid=new char;
pre=&b[0]; mid=&a[0];
Tnode *root=new Tnode;
root=build(pre,mid,c);
print(root);
return 0;
}
求助大佬