一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树。对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点,这样的树就是完全二叉树。

给定一棵完全二叉树的后序遍历,请你给出这棵树的层序遍历结果。

输入格式:
输入在第一行中给出正整数 N(≤30),即树中结点个数。第二行给出后序遍历序列,为 N 个不超过 100 的正整数。同一行中所有数字都以空格分隔。

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

输入样例:
8
91 71 2 34 10 15 55 18

输出样例:
1

分析:在In中保存输入的后序遍历序列,在dfs保存从根节点开始按层序遍历序列的序号。深度优先搜索,index标表示当前节点,大于n则返回。按照完全二叉树的遍历原理进行后序遍历,先进入左右子树(编号为index*2 和 index*2+1,即index右移1位,和index右移1位+1),cnt为后序遍历的位置标记,并将当前所在的后序遍历的元素,填入dfs[index]内~

#include <bits/stdc++.h>
using namespace std;
int n, cnt, In[32], dfs[32];
void Func(int index) {if (index > n) return;Func(index << 1);Func(index << 1 | 1);dfs[index] = In[cnt++];
}
int main() {cin >> n;for (int i = 0; i < n; i++) cin >> In[i];Func(1);cout << dfs[1];for (int i = 2; i <= n; i++) cout << ' ' << dfs[i];return 0;
}

L2-035 完全二叉树的层序遍历 (25 分)-PAT 团体程序设计天梯赛 GPLT相关推荐

  1. L2-039 清点代码库 (25 分)-PAT 团体程序设计天梯赛 GPLT

    上图转自新浪微博:"阿里代码库有几亿行代码,但其中有很多功能重复的代码,比如单单快排就被重写了几百遍.请设计一个程序,能够将代码库中所有功能重复的代码找出.各位大佬有啥想法,我当时就懵了,然 ...

  2. L2-040 哲哲打游戏 (25 分)-PAT 团体程序设计天梯赛 GPLT

    哲哲是一位硬核游戏玩家.最近一款名叫<达诺达诺>的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设游戏有 N 个剧情点,通过游戏里不同的操作或选择 ...

  3. L2-038 病毒溯源 (25 分)-PAT 团体程序设计天梯赛 GPLT

    病毒容易发生变异.某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化. 现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链. 在此假设给 ...

  4. L2-037 包装机 (25 分)-PAT 团体程序设计天梯赛 GPLT

    一种自动包装机的结构如图 1 所示.首先机器中有 N 条轨道,放置了一些物品.轨道下面有一个筐.当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中.当 0 号按钮被按下时,机械手将抓 ...

  5. L2-033 简单计算器 (25 分)-PAT 团体程序设计天梯赛 GPLT

    本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器.如上图所示,计算器由两个堆栈组成,一个堆栈 S1存放数字,另一个堆栈 S2存放运算符.计算器的最下方有一个等号键,每次按下这个键,计 ...

  6. L2-031 深入虎穴 (25 分)-PAT 团体程序设计天梯赛 GPLT

    著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报.已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门.每一扇门背后或者是一个房间,或者又有很多条路,同样是每条 ...

  7. L2-030 冰岛人 (25 分)-PAT 团体程序设计天梯赛 GPLT

    2018年世界杯,冰岛队因1:1平了强大的阿根廷队而一战成名.好事者发现冰岛人的名字后面似乎都有个"松"(son),于是有网友科普如下: 冰岛人沿用的是维京人古老的父系姓制,孩子的 ...

  8. L2-029 特立独行的幸福 (25 分)-PAT 团体程序设计天梯赛 GPLT

    对一个十进制数的各位数字做一次平方和,称作一次迭代.如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数.1 是一个幸福数.此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68, ...

  9. L2-036 网红点打卡攻略 (25 分)-PAT 团体程序设计天梯赛 GPLT

    一个旅游景点,如果被带火了的话,就被称为"网红点".大家来网红点游玩,俗称"打卡".在各个网红点打卡的快(省)乐(钱)方法称为"攻略".你的 ...

最新文章

  1. 一: 建立Vue sampleproject
  2. 摩卡业务服务管理(Mocha BSM)解决方案
  3. Kubernetes中Pod的生命周期
  4. Model和ViewModel
  5. [云炬创业基础笔记] 第四章测试12
  6. 传江民总裁王江民因心脏病突发逝世 享年59岁
  7. 08r2系统服务器开索引,SQLSERVER2008R2正确使用索引
  8. 使用多线程拷贝文件夹
  9. UESTC 288 青蛙的约会 扩展GCD
  10. JAVA操作属性文件,可进行读 写 更改
  11. 雷军自曝25年前旧照 网友发现端倪:25年前就有MIX 2S了?
  12. gcc及doxygen的安装过程
  13. 剪绳子 算法_[校招-算法题]动态规划
  14. 菜鸟也疯狂,易语言自绘控件__按钮篇,用所有者自绘方式实现
  15. Microsoft Office 不同电脑不同电脑登录用户的数据同步
  16. 用ipv6地址打开samba共享目录
  17. SNF快速开发平台MVC-表格单元格合并组件
  18. 在移动设备上使用M3G编程教程(转)
  19. OpenCvSharp 棋盘格标定助手
  20. git修改密码,IDE修改git密码

热门文章

  1. c语言打印跳动的图案,c语言程序设计-跳动的三角形
  2. cms php上传失败,PHPCMSV9无法上传附件,提示空信息的超级bug
  3. android-circlebutton介绍
  4. jfreechart的时序图(曲线图)运行时间长了就变的很卡
  5. 架构语言ArchiMate - ArchiMate提供的基本视角(Viewpoints)介绍一
  6. Hive的查询结果保存方法
  7. 城镇化把握质量 数据分析让管理更创新
  8. Swift项目中不能定义OC类继承Swift类
  9. 深度理解依赖注入(Dependence Injection)
  10. ubuntu使用问题与解决记录[持续更新]