C++ 代码
#include<bits/stdc++.h>
#pragma GCC optimize(2)
using namespace std;
string s1,s2;
void dfs(int l1,int r1,int l2,int r2){
if(l1>r1) return;
int x=l2;
while(s2[x]!=s1[l1]) ++x;
dfs(l1+1,l1+x-l2,l2,x-1);
dfs(r1+x-r2+1,r1,x+1,r2);
cout<<s1[l1];
}
int main(){
while(cin>>s1>>s2){
dfs(0,s1.size()-1,0,s2.size()-1);
puts("");
}
return 0;
}