l2-006 树的遍历

L2-006. 树的遍历

时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
陈越

给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。

输入格式:

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

输出格式:

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

输入样例:
7
2 3 1 5 7 6 4
1 2 3 4 5 6 7
输出样例:
4 1 6 3 5 7 2

分析:

 这道题和pat l2-004简直就是同一道题目啊...

 只不过那题是给你中序和先序...一个意思嘛

在先序或后序中,只要我们知道了左子树或者右子树的范围,我们就可以找到根节点的值,从而在中序中找到根节点的位置,然后递归去做同样的步骤就好啦。层序遍历其实就是bfs啦!用用队列就好了...

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int maxn=1e5;
 4 int mid[32], bk[32], tree[maxn];
 5 struct node{
 6     int l, r;
 7 }a[maxn];
 8 int build(int la, int lb, int ra, int rb){
 9     if(la>lb)    return 0;
10     int root=bk[rb];
11     int p1, p2;
12     p1=la;
13     while(root!=mid[p1])    p1++;
14     p2=p1-la;
15     a[root].l=build(la, p1-1, ra, ra+p2-1);
16     a[root].r=build(p1+1, lb, ra+p2, rb-1);
17     return root;
18 }
19 void bfs(int x){
20     int cnt=0;
21     queue<int>q;
22     q.push(x);
23     while(q.size()){
24         int m=q.front(); q.pop();
25         ++cnt==1? cout<<m:cout<<" "<<m;
26         if(a[m].l!=0)
27             q.push(a[m].l);
28         if(a[m].r!=0)
29             q.push(a[m].r);
30     }
31 }
32 int main(){
33     int n;
34     cin>>n;
35     for(int i=0; i<n; i++)
36         cin>>bk[i];
37     for(int i=0; i<n; i++)
38         cin>>mid[i];
39     int root=build(0, n-1, 0, n-1);
40     bfs(root);
41     
42     return 0;
43 }

 

转载于:https://www.cnblogs.com/ledoc/p/6591900.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417088.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ant Design Pro 2.0/umijs站点配置到非站点根目录下处理

1.config/config.js中 export default {中加上如下&#xff1a; history: hash, //采用hash路由&#xff1a;#/xxx的形式 base:./, publicPath:./, &#xff08;会自动将/static/xxx.jpg之类的和umi.js中的a.p"/"及index.html中window.routerBase中该值进行替换…

android添加商品到购物车,Android使用动画动态添加商品进购物车

本文实例为大家分享了Android添加商品进购物车的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下1、首先展示下效果图2、讲一下思路&#xff0c;小球由加号位置运动到购物车位置&#xff0c;首先得获得这两个点在整个屏幕中的坐标&#xff0c;然后分别计算这两个点的横…

字体小于12px解决办法

width: 100px; height: 30px;-webkit-transform: scale(0.5);margin: -7.5px -25px; 转载于:https://www.cnblogs.com/yghgo/p/6593449.html

前端学习(2338):记录解决问题的一次

<!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title><style type"text/css">#f {font-size: 50px;font-family: 幼圆;}#btn {width: 50px;height: 30px;opacity: 0.5;background-color: paleg…

URAL1553 Caves and Tunnels 树链剖分 动态树

URAL1553 维护一棵树&#xff0c;随时修改某个节点的权值&#xff0c;询问&#xff08;x,y&#xff09;路径上权值最大的点。 树是静态的&#xff0c;不过套动态树也能过&#xff0c;时限卡的严就得上树链剖分了。 还是那句话 splay的核心是splay(x) LCT的核心是access(x) 把SP…

zb——中国人发起的编程语言之序章

20181110 大背景 贸易战&#xff0c;java11收费&#xff0c;python go等百家争鸣&#xff0c;但是没有一个是中国人发起创立的语言。 思考 夜来奇想&#xff0c;java不行了还有go&#xff0c;go如果要是不行了呢&#xff1f;python等都不行了呢&#xff1f; 中国人自己发起…

华为5g鸿蒙折叠,华为再次亮剑!5G新旗舰已经确认,折叠屏+升级到鸿蒙2.0,价格过万...

每年华为有两个新机上市高峰期&#xff0c;一个是年初的P系列发布之后&#xff0c;华为Nova系列、荣耀数字系列会跟着发布&#xff1b;另一个则是年底的华为Mate系列发布之后&#xff0c;华为Nova新系列和荣耀V系列也会一起发布。现在已经是9月底&#xff0c;再等不到一个月的时…

docker服务无法启动 神坑

背景环境 centos6 docker1.7 service docker status输出&#xff1a; docker dead but subsys locked 各种找资料 尝试&#xff1a; rm -rf /var/run/docker.* rm -rf /var/lock/subsys/docker &#xff08;备注&#xff1a;如果有需要备份的docker此处千万不要用rm -r…

apicloud,aliyunlive,测试成功

1.推流 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"maximum-scale1.0,minimum-scale1.0,user-scalable0,widthdevice-width,initial-scale1.0"><ti…

centos7 编译安装nginx 设置自启动服务 支持https

编译环境安装 yum install -y gcc-c yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel 下载nginx.tar.gz 编译 tar -xzvf nginx-1.15.3.tar.gz cd nginx-1.15.3 ./configure --sbin-path/usr/local/nginx/nginx -…

idea自动补全html标签,webstorm(idea)常见自动补全方法和常用快捷键

一&#xff1a;标签自动补全&#xff1a;(1)纯标签补全例&#xff1a;输入h1,按Tab键&#xff0c;(2)纯标签地址“id”例&#xff1a;输入h1#ccg,按Tab键&#xff0c;(3)纯标签类“class”例&#xff1a;输入h1.ccg,按Tab键&#xff0c;(4)标签子标签子标签个数例&#xff1a;输…

走进netty

三月份开始看公司RPC框架的源码,发现如果要折腾明白,网络通讯这块知识必不可少.于是从如下几点开始逐步研究. 一、基础知识篇 1.Unix下5种I/O模型 Linux的内核将所有外部设备都看作一个文件来操作,对于一个文件的读写操作会调用内核提供的系统命令,返回一个fd(文件描述符),而对…

html页面text固定长度,HTML中input type=text和type=password 显示的长度不一样

springmvc下js控制表单提交(表单提交前检验&#xff0c;提交后获取json返回值)这个问题我搞了四天,终于搞懂.因为对js很不熟悉.郁闷的是后台代码出错总可以设置断点调试,前端js代码出错只能通过浏览器提供一些运行数据来分析,很不习惯. 首先说下逻辑:这是一个注册功能,我希望,注…

springboot health检查

health检查一般用于spring cloud注册中心的存活检查&#xff0c;比如spring cloud consul配置 spring:cloud:consul:discovery:register: trueinstance-id: ${spring.application.name}:${server.port}service-name: ${spring.application.name}port: ${server.port}healthChe…