#include<iostream>
#include<string>
#include<algorithm>
#include<map>
#include<cmath>
#include<vector>
using namespace std;
vector<int>post;
void getPost(vector<int>a,vector<int>b)
{
if(a.empty()||b.empty())return;
int i;
for(i=0;;i++)
if(b[i]==a[0])break;
vector<int>m,n;
for(int j=1;j<=i;j++)m.push_back(a[j]);
for(int j=0;j<i;j++)n.push_back(b[j]);
getPost(m,n);
m.clear();n.clear();
for(int j=i+1;j<a.size();j++)m.push_back(a[j]);
for(int j=i+1;j<b.size();j++)n.push_back(b[j]);
getPost(m,n);
post.push_back(a[0]);
}
int main()
{
ios::sync_with_stdio(false);
int n;
while(cin>>n)
{
vector<int>a,b;
int num;
for(int i=0;i<n;i++){cin>>num;a.push_back(num);}
for(int i=0;i<n;i++){cin>>num;b.push_back(num);}
post.clear();
getPost(a,b);
for(int i=0;i<post.size();i++)
{
if(i)cout<<' ';
cout<<post[i];
}
cout<<endl;
}
return 0;
}
hdu1710二叉树后序遍历
最新推荐文章于 2023-03-02 16:41:40 发布