#include<cstdio>
#include<vector>
using namespace std;
vector<int> preo,ino;
void findpost(int prel,int prer,int inl,int inr){
if(inl==inr){
printf("%d",ino[inl]);
}else{
if(preo[prel]!=ino[inl]){
int mid=inl;
while(preo[prel]!=ino[mid]) mid++;
findpost(prel+1,prel+mid-inl,inl,mid-1);
}else{
findpost(prel+1,prer,inl+1,inr);
}
}
}
int main(){
int n,x;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&x);
preo.push_back(x);
}
for(int i=0;i<n;i++){
scanf("%d",&x);
ino.push_back(x);
}
findpost(0,n-1,0,n-1);
return 0;
}
PAT甲级 1138 Postorder Traversal (25 分)
最新推荐文章于 2024-05-04 15:29:43 发布