7-3 玩转二叉树

L2-011 玩转二叉树 L2-011玩转二叉树(25分) 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。 输出格式: ... 阅读详情

给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。

输入格式:

输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。

输出格式:

在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。

输入样例:

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

输出样例:

4 6 1 7 5 3 2
#include<bits/stdc++.h>
using namespace std;
vector<int>D[35];
int q[35],z[35],f=0,n,md;
void dfs(int rt,int a1,int a2,int b1,int b2,int d)
{
    if(a1>a2) return;
    md=max(d,md);
    D[d].push_back(rt);
    if(a1==a2) return;
    int i=find(z+b1,z+b2,rt)-z;
    int ls=i-b1,rs=b2-i;
    if(rs)dfs(q[a2-rs+1],a2-rs+1,a2,i+1,b2,d+1);
    if(ls)dfs(q[a1+1],a1+1,a1+ls,b1,i-1,d+1);
}
int main()
{
    cin>>n;
    for(int i=0;i<n;i++) cin>>z[i];
    for(int i=0;i<n;i++) cin>>q[i];
    dfs(q[0],0,n-1,0,n-1,0);
    for(int i=0;i<=md;i++)
        for(int x:D[i])
            cout<<(f?" ":"")<<x,f=1;
}

L2-011 玩转二叉树 (25 分) 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。 输出格式: 在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,... 阅读详情

相关推荐

精选50题之 235. 二叉搜索树的最近公共祖先

腾讯精选练习(50 题)之 原题目链接直接实现题目分析解题分析代码实现其他方式写在最后 原题目链接 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6...

Ivan Zhang的博客 515

数据结构与算法28-玩转二叉树

Description 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 Input 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。 Output 在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。 Sample Input 7 1 2 3 4 5 6 7 4 1 3

jialChen的博客 1412

软件工程导论考试通关秘籍:太原理工大学历年真题解析(附答案)

本文为太原理工大学《软件工程导论》考试提供高效备考指南,通过解析近六年真题,揭示高频考点如软件生命周期、UML建模和结构化设计等核心模块的命题规律。文章提供真题拆解、实战策略和避坑指南,帮助考生掌握图形转换题和简答题的应答技巧,助力考试通关。

weixin_29233333的博客 227

玩转二叉树 (25 分)

给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。 输出格式: 在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。 输入样例: 7 1 2 3 4 5 6 7 4 1 3 2 6 5 7 输出样例: 4 6 1

qq_62802647的博客 833

DCDC: 前馈电容优化环路稳定性的设计与验证方法

本文深入探讨了DCDC转换器中前馈电容对环路稳定性的优化设计与验证方法。通过分析前馈电容的作用原理、选型计算和实验验证,详细介绍了如何利用穿越频率和相位裕度等关键参数提升系统性能。文章还提供了实用的设计经验和问题排查技巧,帮助工程师在实际应用中实现DCDC转换器的最佳稳定性。

weixin_42531516的博客 438

ChatUI vs Ant Design X 技术选型对比

维度ChatUI优势轻量级、易上手、完美兼容 Ant Design全能型框架、企业级扩展性、深度模型集成局限性功能单一、缺乏高级交互支持学习曲线陡峭、包体积较大最佳实践单独聊天窗口集成整体智能助手系统开发通过对比可见,ChatUI 适合快速实现基础对话功能,而Ant Design X 更适合构建复杂的 AI 驱动应用。实际选择时需结合项目规模、团队技术栈和对交互复杂度的需求综合评估。

四楼没电梯的专栏 2265

7-3 玩转二叉树 (25 分)

给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。 输出格式: 在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,...

SHAUNG_YUE的博客 3517

手把手教你从入门到精通C# MES通信

本文是C#与MES通信通信的目录,使用C#与各种MES系统通信的方法我都会在专栏中讲到,比如WebService、Http、Ftp、共享文件夹、串口通信等,绝对是上位机软件工程师实现与MES系统通信的必备教程!

qq_34059233的博客 8749

7-3 玩转二叉树 (PTA-数据结构)

给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。

FellAveal的博客 2626

实测可复现|2026 Cloudflare盾v4.0反反爬全实战:从JS/WASM逆向到JA3指纹伪装,手把手突破拦截(附完整逆向代码+避坑手册)

本文以2026年Cloudflare盾v4.0(集成Shield Synapse v2.0)为核心,全程以实战复盘为视角,拆解了从JS/WASM混合逆向、全维度指纹伪装(JA3+浏览器指纹)、人类行为模拟,到代理池搭建的全流程,整合了完整可复现的代码,所有步骤和踩坑点均为实测所得,无任何AI套话,新手也能跟着复现,最终实现爬取成功率从12%提升至95%+。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1686

化工过程控制软件:Siemens PCS 7二次开发_(8).过程控制算法

在化工过程控制中,过程控制算法是实现自动化控制的关键技术之一。Siemens PCS 7 提供了丰富的控制算法库,但为了满足特定的工艺需求,往往需要进行二次开发。本节将详细介绍如何在 Siemens PCS 7 中进行过程控制算法的二次开发,包括常见的控制算法原理、实现方法和具体示例。

kkchenjj的博客 502

【PTA】 7-3 玩转二叉树 (二叉树静态建树+左右子树交换+层次遍历)

给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。 输出格式: 在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。 输入样例: 7 1 2 3 4 5 6 7 4 1 3 2 6 5 7 输出样例: 4 6 1

黑桃 1251

大语言模型原理与工程实践:行业大语言模型的评测:以金融行业大语言模型为例

大语言模型、金融行业、模型评测、自然语言处理、深度学习、Transformer、BERT、GPT 1. 背景介绍 近年来,大语言模型(Large Language Model,LLM)在自然语言处理(Natural Language Processing,NLP)领域取得了突破性的进

AI大模型应用之禅 137

PTA 树的遍历(玩转二叉树)

PTA 树的遍历(玩转二叉树) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。 输出格式: 在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余...

[空白] 7532

Attention优化|2w字原理&图解: 从Online-Softmax到FlashAttention V1/V2/V3

本文通过原理分析和图解的方式,通俗易懂地FlashAttention系列算法。FlashAttention V1/V2在LLM领域的应用已经非常广泛,相关的论文也反复读了几遍。FA1和FA2论文非常经典,都推荐读一下(不过FA2论文中公式错误不少本文大约1.8w字,包括以下内容:0x07 分布式训推使用FlashAttention0x09 FlashAttention中MQA/GQA以及Causal Mask处理。

具身机器人和通用AI 5232

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

玩转二叉树(之前学习了二叉树的基础知识,今天又去做了一道PAT的题目,于是就写下一篇文章进行总结)

二叉树是一种树型结构,它的特点是每个节点至多只有两棵子树(不存在度大于2的节点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。

weixin_45290352的博客 961

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

玩转二叉树

玩转二叉树

现在我也是的博客 357

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【2020HBU天梯赛训练】7-37 玩转二叉树

7-37玩转二叉树 【2020HBU天梯赛训练】7-30树的遍历的姊妹题 这道题给中序遍历和前序遍历 相反的层序输出 姊妹题给中序遍历和后序遍历 层序输出。 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行...

韩旭051的博客 1287

涨姿势,简单易懂带你玩转二叉树(图码并茂)

作者:Optimism&Activewww.cnblogs.com/xisuo/p/11921647.html目录前言1.数组和链表的特点2.树和二叉树3.二叉搜索树以及它是通过...

Java知音 668

玩转二叉树(树的遍历)

给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。 输出格式: 在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。 输入样例: 7 1 2 3 4 5 6 7 4 1 3 2 6 5 7 输出样例: 4 6 1

qq_44061866的博客 392

玩转二叉树(超简单做法)

给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。

weixin_72525373的博客 252

L2-3 玩转二叉树 (25分)

7 1 2 3 4 5 6 7 4 1 3 2 6 5 7 输出样例: 4 6 1 7 5 3 2 不知道说啥了 超无语的一道题 觉得没错但是一直段错误 段错误部分:int k; for(int k;......)这样写是不对的 再加上下边还要用到k值所以还一定要在外部声明k 所以正确写法只有下边这样了: int k;//在中序序列中寻找k for(k = inl; k <= inr; k++) { if(in[k] == pre[prel]) { break; } } .

XXX 456

天梯赛 L2-011 玩转二叉树 数据结构

题目:https://www.patest.cn/contests/gplt/L2-011 题意: 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N( 输出格式: 在一行中输出该树反转后的层序遍历

弱智就要多努力 1304
上一篇: 7-2 根据后序和中序遍历输出前序遍历
下一篇: 7-4 树的遍历
四零八之王
博客等级 码龄4年 24粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

四零八之王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值