标签:
#include<iostream> #include<cstring> #include<cstdio> using namespace std; int num=0; struct donser { int data; donser*lson; donser*rson; }; donser *root; donser *creat(int *a,int *b,int n)//da下标从i开始依次找 db下标从j开始向后扫 n向后扫几个 { donser *ss; for(int k=0;k<n;k++) { if(b[k]==a[0]) { ss=new donser; ss->data=b[k]; ss->lson=creat(a+1,b,k); ss->rson=creat(a+k+1,b+1+k,n-k-1); return ss; } } return NULL; } void solve(donser *r) { if(r!=NULL) { solve(r->lson); solve(r->rson); if(r!=root) cout<<r->data<<" "; else cout<<r->data<<endl; } } int main() { int da[1010],db[1010];//前中 while(~scanf("%d",&num)) { for(int i=0;i<num;i++) {scanf("%d",&da[i]);} for(int i=0;i<num;i++) {scanf("%d",&db[i]);} root=creat(da,db,num); solve(root); } return 0; }
标签:
原文地址:http://www.cnblogs.com/dzzy/p/5067971.html