先序和后序构造正则二叉树 (20 分)

简介: 先序和后序构造正则二叉树 (20 分)

本题目要求用先序序列和后序序列构造一棵正则二叉树(树中结点个数不超过10个),并输出其中序序列。


输入格式:

在第一行中输入元素个数。

第二行中输入先序序列,用空格分隔。

第三行中输入后序序列,用空格分隔。


输出格式:

输出此正则二叉树的中序序列,用空格分隔,最后也有一个空格。


样例">输入样例:

1. 5
2. 10 20 30 40 50
3. 20 40 50 30 10


输出样例:

20 10 40 30 50


#include<bits/stdc++.h>
using namespace std;
const int N = 20;
int a[N],b[N];
vector<int>ans;
void get_zhong(int l1,int r1,int l2,int r2)
{
    if(l1 == r1)
    {
        ans.push_back(a[l1]);
        return ;
    }
    if(a[l1] == b[r2])
    {
        int i = l1 + 1;
        while(i <= r1 && a[i] != b[r2 - 1]) i++;
        if(i - l1 > 1)
            get_zhong(l1+1,i-1,l2,l2 + (i - l1 - 1) - 1);
        ans.push_back(b[r2]);
        get_zhong(i,r1,l2 + (i - l1 - 1),r2-1);
    }
}
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++) cin>>a[i];
    for(int i=0;i<n;i++) cin>>b[i];
    get_zhong(0,n-1,0,n-1);
    for(int i=0;i<ans.size();i++)
        cout<<ans[i]<<' ';
    return 0;
}


目录
相关文章
|
C语言
【数据结构】栈和队列(c语言实现)(附源码)
本文介绍了栈和队列两种数据结构。栈是一种只能在一端进行插入和删除操作的线性表,遵循“先进后出”原则;队列则在一端插入、另一端删除,遵循“先进先出”原则。文章详细讲解了栈和队列的结构定义、方法声明及实现,并提供了完整的代码示例。栈和队列在实际应用中非常广泛,如二叉树的层序遍历和快速排序的非递归实现等。
1104 9
|
编解码 算法 文件存储
浅谈动图文件格式 - GIF
介绍动图的文件格式,及其优劣
3035 0
浅谈动图文件格式 - GIF
|
12月前
|
搜索推荐 数据挖掘 API
微店商品详情接口(微店API系列)
微店商品详情接口是微店API的重要组成部分,帮助开发者和商家获取商品的详细信息(如标题、价格、库存等),并将其集成到应用程序或数据分析系统中。该接口支持HTTP GET/POST请求,返回JSON/XML格式数据,需通过AppKey和AppSecret进行身份验证和签名加密。应用场景包括商品信息同步、数据分析与市场调研、个性化推荐系统等,助力商业决策和业务拓展。
304 13
|
Web App开发 移动开发 前端开发
技术经验分享:canvas+howler.js解决同页面视频、音频同时播放问题
技术经验分享:canvas+howler.js解决同页面视频、音频同时播放问题
528 0
|
人工智能 IDE 测试技术
人工智能 | 结对编程助手GithubCopilot
GitHub Copilot 是一款人工智能编码助手,能够加速您的编程流程。它根据上下文即时提供建议,无论是单行代码还是完整函数。Copilot 由 GitHub、OpenAI 和 Microsoft 联合开发,可在多种 IDE(如 Visual Studio Code、JetBrains IDEs)中使用。只需在 IDE 中安装扩展并激活服务,即可享受智能代码补全功能。虽然 Copilot 有助于提升开发效率,但也需用户审慎检查其提供的建议以确保准确性。试用结束后,记得管理订阅以免产生不必要的费用。
人工智能 | 结对编程助手GithubCopilot
|
JavaScript 前端开发 API
vue和react对比
【7月更文挑战第12天】 Vue和React是前端两大主流框架,各具特色。Vue以其简单API、双向绑定、模板语法和组件化开发吸引开发者,适合快速开发和新手。它的生态系统包括Vuex和Vue Router等。React以虚拟DOM、高性能、组件化和灵活性著称,大型项目和复杂应用常选React,且有庞大社区和丰富的第三方库。选择取决于项目需求、团队技能和未来扩展性。
331 3
|
Prometheus 运维 监控
windows_exporter 安装
windows_exporter 安装
327 0
|
安全 数据库连接 数据库
可靠性测试-故障注入工具
【7月更文挑战第19天】可靠性测试中的故障注入工具对评估系统容错性与稳定性至关重要。常见工具如 **FaultInjector** (模拟多类故障)、**Xception** (针对特定组件注入错误) 和 **Chaos Monkey** (验证云环境下系统弹性) 帮助开发者提前发现潜在问题, 优化系统设计, 如电商公司通过测试确保促销期稳定, 金融机构降低交易风险。选择合适工具并结合业务场景测试对提升可靠性至关重要。
626 0
|
资源调度 算法 物联网
【信道编码】1 无线通信发展历程与挑战、信道分类、多径信道、单径信号传输与检测
【信道编码】1 无线通信发展历程与挑战、信道分类、多径信道、单径信号传输与检测
563 3
|
运维 监控 安全
阿里云香港轻量应用服务器评测,1核1G 30M 24元/月,低价VPS
阿里云香港轻量应用服务器评测,1核1G 30M 24元/月,低价VPS
5758 0

热门文章

最新文章