大佬求助
  • 板块题目总版
  • 楼主zhaocs123456
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/2 12:35
  • 上次更新2024/7/2 15:33:13
查看原帖
大佬求助
1250410
zhaocs123456楼主2024/7/2 12:35

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

输入格式 第一行一个整数N。 第二行N个整数表示前序遍历,保证1~N各出现一次。 第二行N个整数表示中序遍历,保证1~N各出现一次。

输出格式 一行N个整数,表示后续遍历。

我的代码 求助大佬 爆零全MLE

#include <bits/stdc++.h>
#define ll int
using namespace std;
string s1,s2;
void gz(ll l1,ll r1,ll l2,ll r2){
	char t=s1[l1];
	ll t1=s2.find(t);
	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<<s1[l1]<<' ';
}
char gen;
ll b,c,d,e,f,g;
int main()
{
	cin >>b;
	for(int i=1;i<=b;i++){
		cin >>gen;
		s1+=gen;
	}
	for(int i=1;i<=b;i++){
		cin >>gen;
		s2+=gen;
	}
	gz(0,b-1,0,b-1);
	
	return 0;
}
2024/7/2 12:35
加载中...