#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=4e3+20; int n; string a,b;//a,b分别为前序和中序遍历结果 //后序:左子树后序+右子树后序+根 void dfs(char *a,char* b,int len) { if(len<1) return; int i=0; while(b[i]!=a[0]) i++; dfs(a+1,b,i); dfs(a+i+1,b+i+1,len-i-1); cout<<a[0]; } int main() { char a[N],b[N]; scanf("%s%s",a,b); n=strlen(a); dfs(a,b,n); cout<<endl; return 0; }
时间: 2024-10-26 19:33:43