1138. Postorder Traversal (25)

来源:互联网 发布:淘宝优惠券返利网 编辑:程序博客网 时间:2024/05/29 18:32
#include <bits/stdc++.h>using namespace std;int pre[50002],ino[50002],ans;void solve(int preL,int preR,int inoL,int inoR){    if(preL>preR)return;    int idx=inoL,pdx=preL;    int root=pre[preL];    while(root!=ino[idx])++idx,++pdx;    ans=root;    if(preL+1<=pdx)        solve(preL+1,pdx,inoL,idx-1);    else        solve(pdx+1,preR,idx+1,inoR);}int main(){    int n;    cin>>n;    for(int i=0;i<n;++i)        scanf("%d",&pre[i]);    for(int i=0;i<n;++i)        scanf("%d",&ino[i]);    solve(0,n-1,0,n-1);    cout<<ans;    return 0;}
原创粉丝点击