一个 个节点的二叉树,输入它的前序遍历和中序遍历,输出它的后序遍历。
输入格式
第一行一个整数N。
第二行N个整数表示前序遍历,保证1~N各出现一次。
第二行N个整数表示中序遍历,保证1~N各出现一次。
输出格式
一行N个整数,表示后续遍历。
我的代码
求助大佬
爆零全RE
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll b,c,d,e,f,g;
ll s4[1000006],s5[1000006];
void gz(ll l1,ll r1,ll l2,ll r2){
ll t=s4[l1];
ll t1=lower_bound(s5+1,s5+b-1,t)-s5;
if(t1>l2) gz(l1+1,l1+t1-l2,l2,t1-1);
if(t1<r2) gz(l1+t1-l2+1,r1,t1+1,r2);
cout<<s4[l1];
}
char gen;
int main()
{
cin >>b;
for(int i=1;i<=b;i++){
cin >>s4[i];
}
for(int i=1;i<=b;i++){
cin >>s5[i];
}
gz(1,b,1,b);
return 0;
}