题目描述
极简解法
#include<stdio.h>
#include<string.h>
char pre[1005],mid[1005];
void Convert(int prestart,int preend,int midstart,int midend)
{
int i;
if(prestart==preend) return;
for(i=midstart;i<midend&&mid[i]!=pre[prestart];i++);
Convert(prestart+1,prestart+1+i-midstart,midstart,i);
Convert(prestart+1+i-midstart,preend,i+1,midend);
printf("%c",mid[i]);
}
int main()
{
gets(pre);gets(mid);
Convert(0,strlen(pre),0,strlen(mid));
return 0;
}