1138 Postorder Traversal

练习 专栏收录该内容
322 篇文章 0 订阅

 题目

题意:已知前序和中序,输出后序的第一个元素

#include<iostream>
using namespace std;
int pre[50003],inoder[50003];
int n,flag=0;
void find(int t,int s,int e) {
	if(s>e||flag==1)
		return ;
	int i=s;
	while(inoder[i]!=pre[t])
		i++;
	find(t+1,s,i-1);
	find(t+i-s+1,i+1,e);
	if(!flag) {
		cout<<inoder[i];
		flag=1;
	}
}
int main() {
	cin>>n;
	for(int i=0; i<n; ++i)
		cin>>pre[i];
	for(int i=0; i<n; ++i)
		cin>>inoder[i];
	find(0,0,n-1);
	return 0;
}

 

  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:马嘣嘣 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值