7-9 根据后序和中序遍历输出先序遍历 (10 分)

简介: 7-9 根据后序和中序遍历输出先序遍历 (10 分)

7-9 根据后序和中序遍历输出先序遍历 (10 分)


本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。


输入格式:


第一行给出正整数N(≤30),是树中结点的个数。随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。


输出格式:


在一行中输出Preorder: 以及该树的先序遍历结果。数字间有1个空格,行末不得有多余空格。


输入样例:


1. 7
2. 2 3 1 5 7 6 4
3. 1 2 3 4 5 6 7


结尾无空行


输出样例:


Preorder: 4 1 3 2 6 5 7


结尾无空行


#include<iostream>
using namespace std;
const int N=40;
int n,index;
int post[N],in[N],pre[N];
void dfs(int root,int l,int r){
    if(l>r)return ;
    int i=l;
    while(i<r&&in[i]!=post[root])i++;
    pre[index++]=post[root];
    dfs(root-(r-i+1),l,i-1);
    dfs(root-1,i+1,r);
}
int main(){
    cin>>n;
    for(int i=0;i<n;i++)cin>>post[i];
    for(int i=0;i<n;i++)cin>>in[i];
    printf("Preorder:");
    dfs(n-1,0,n-1);
    for(int i=0;i<n;i++)printf(" %d",pre[i]);
    return 0;
}







目录
相关文章
|
存储 缓存 NoSQL
Redis Cluster 为什么选哈希槽不选一致性哈希?
Redis相信大家都很熟悉,它是我们常用的分布式缓存中间件之一。那么大家对于Redis Cluster集群是否熟悉呢?在Redis集群中并没有使用一致性hash, 而是引入了 **哈希槽**的概念,为什么选哈希槽不选一致性哈希。
4545 1
|
存储 机器学习/深度学习 人工智能
矢量数据库与LLM的集成:实践指南
矢量数据库与LLM的集成:实践指南
397 2
|
存储 算法 Java
图的操作和应用之景区信息管理系统(数据结构课程设计)
0001:图的操作和应用之景区信息管理系统(C++版数据结构课程设计) 现有一个景区,景区里面有若干个景点,景点之间满足以下条件: (1) 某些景点之间铺设了道路(相邻) (2) 这些道路都是可以双向行驶的(无向图) (3) 从任意一个景点出发都可以游览整个景区(连通图) 开发景区信息管理系统,对景区的信息进行管理。使用图的数据结构来保存景区景点信息,为用户提供创建图、查询景点信息、旅游景点导航、搜索最短路径、铺设电路规划等功能。 文章目录0001:图的操作和应用之景区信息管理系统(C++版数据结构课程设
图的操作和应用之景区信息管理系统(数据结构课程设计)
|
安全 Java API
springboot 单点登录实现原理
【7月更文挑战第2天】单点登录(Single Sign-On,SSO)是一种用户认证方式,用户在多个应用系统中只需要登录一次,就可以访问所有相互信任的应用系统。
504 1
|
JSON 算法 Go
go语言后端开发学习(一)——JWT的介绍以及基于JWT实现登录验证
go语言后端开发学习(一)——JWT的介绍以及基于JWT实现登录验证
207 0
|
SQL 调度 数据库
Airflow的Dag
Airflow的Dag
305 0
|
SQL Go 数据库
【Sentinel Go】新手指南、流量控制、熔断降级和并发隔离控制
【2月更文挑战第12天】随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。
954 0
|
消息中间件 Kafka Go
Golang微服务框架Kratos应用Kafka消息队列
Apache Kafka 是一个分布式数据流处理平台,可以实时发布、订阅、存储和处理数据流。它旨在处理多种来源的数据流,并将它们交付给多个消费者。简而言之,它可以移动大量数据,不仅是从 A 点移到 B 点,而是能从 A 到 Z 的多个点移到任何您想要的位置,并且可以同时进行。
556 0
|
消息中间件 存储 中间件
吐血总结——消息队列之RocketMQ知识梳理
消息队列主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。今天我就首先分析一下RocketMQ,目前公司用的也是这个,因此在进行一下梳理,加深一下印象。
555 0
|
机器学习/深度学习 存储 算法
【机器学习】支持向量机 SVM(非常详细)
SVM 想要的就是找到各类样本点到超平面的距离最远,也就是找到最大间隔超平面。
【机器学习】支持向量机 SVM(非常详细)