using namespace std;
string a,b;
void tree(int l1 , int r1 , int l2 ,int r2){
if(l1 > r1 || l2 > r2) {
return ;这种情况是针对于该序列不存在左子树或者右子树的情况,很重要(不过也可以放在下面判断:也就是在两个递归前面都各自加一个判断条件if (l1 <= r1))
}//
else if (l1 == r1 || l2 == r2){
cout << a[l1];
return ;
}
else{
int pos;
for (int i = l1 ; i <= r1 ; i ++ ){
if (a[i] == b[r2]){
pos = i;
break;
}
}
cout << a[pos];
tree(l1 , pos - 1 ,l2 , pos + l2 - l1 - 1);
tree(pos + 1 ,r1 , l2 + pos - l1 ,r2 - 1);
}
}
int main(){
cin >> a >> b;
int len = a.length();
tree(0 , len -1 , 0 , len -1 );
return 0;
}