站外题求助
  • 板块灌水区
  • 楼主zhaocs123456
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/7/2 12:22
  • 上次更新2024/7/2 15:31:14
查看原帖
站外题求助
1250410
zhaocs123456楼主2024/7/2 12:22

一个 个节点的二叉树,输入它的前序遍历和中序遍历,输出它的后序遍历。

输入格式 第一行一个整数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;
}
2024/7/2 12:22
加载中...