《高级数据结构》p42
代码:
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
char s1[10000],s2[10000];
int bb(char ch)
{
for(int i=0;i<strlen(s2);i++)
if(s2[i]==ch)
return i;
}
void aa(int l1,int r1,int l2,int r2)
{
int m=bb(s1[l1]);
if(m>l2)
aa(l1+1,l1+m-l2,l2,m-1);
if(m<r2)
aa(l1+m-l2+1,r1,m+1,r2);
printf("%c",s1[l1]);
}
int main()
{
scanf("%s",s1);
scanf("%s",s2);
aa(0,strlen(s1)-1,0,strlen(s2)-1);
return 0;
}