标签:blog 后序 span class ace mes uga cin using
首先必须要有中序遍历以及前序和后序之中的一种才能求第三种,也就是说没有中序遍历树的结构是不确定的。
//Author: xiaowuga #include <bits/stdc++.h> using namespace std; const long long N=100000; int f[N],m[N]; void solve(int a,int b,int n){ if(n==1){ cout<<f[a]<<‘ ‘;return;} if(n<=0) return; int i; for(i=0;f[a]!=m[b+i];i++); solve(a+1,b,i); solve(a+i+1,b+i+1,n-i-1); cout<<f[a]<<‘ ‘; } int main() { ios::sync_with_stdio(false);cin.tie(0); int n; cin>>n; for(int i=1;i<=n;i++) cin>>f[i]; for(int i=1;i<=n;i++) cin>>m[i]; solve(1,1,n); cout<<endl; return 0; }
//Author: xiaowuga #include <bits/stdc++.h> using namespace std; const long long N=100000; int m[N],b[N]; void solve(int l,int r,int n){ if(n==1){ cout<<b[l]<<‘ ‘; return;} if(n<=0) return; int i; for(i=0;b[l]!=m[r-i];i++); cout<<b[l]<<‘ ‘; solve(l-i-1,r-i-1,n-i-1); solve(l-1,r,i); } int main() { ios::sync_with_stdio(false);cin.tie(0); int n; cin>>n; for(int i=1;i<=n;i++) cin>>b[i]; for(int i=1;i<=n;i++) cin>>m[i]; solve(n,n,n); cout<<endl; return 0; }
标签:blog 后序 span class ace mes uga cin using
原文地址:http://www.cnblogs.com/xiaowuga/p/7684570.html