PAT (Advanced Level) Practice - 1127 ZigZagging on a Tree(30 分)
发布日期:2021-06-30 23:43:23
浏览次数:3
分类:技术文章
本文共 869 字,大约阅读时间需要 2 分钟。
题目链接:
题目大意:给出中序和后序序列,按照“S”形层序遍历输出。
解题思路:找规律可以发现,只要每次用queue保存,然后遍历了该层的所有结点后,把queue里的结点弹到stack里即可。注意的是,这里需要每次从哪个头开始弹入queue里,需要想好是先 l,r or r,l。
AC 代码
#include#include #define mem(a,b) memset(a,b,sizeof a)#define ssclr(ss) ss.clear(), ss.str("")#define INF 0x3f3f3f3f#define MOD 1000000007using namespace std;typedef long long ll;struct node{ int d,l,r;}T[40];int n;int in[40], post[40], lvl[40];int create(int l1,int r1, int l2,int r2, int l) // in post{ if(l1>r1) return -1; lvl[l]++; int rt=r2; int p1=l1,p2; while(in[p1]!=post[r2]) p1++; p2=p1-l1; T[rt].d=post[rt]; T[rt].l=create(l1,p1-1,l2,l2+p2-1,l+1); T[rt].r=create(p1+1,r1,l2+p2,r2-1,l+1); return rt;}void bfs(int rt){ queue q; vector v; stack sk; q.push(rt); node nd; int th=0, cnt=0; while(v.size()
转载地址:https://lux-sun.blog.csdn.net/article/details/82148338 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月29日 01时39分25秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux 根目录下文件夹分析
2019-04-30
My notes about backup to ubuntu
2019-04-30
linux 查看分区和文件大小
2019-04-30
Not using PCAP_FRAMES 解释(snort中)
2019-04-30
技术转管理?这些“坑”你要绕道走
2019-04-30
领域驱动设计(DDD)前夜:面向对象思想
2019-04-30
Ubuntu 14.04 安装TM2009/QQ
2019-04-30
Camera驱动调试小记
2019-04-30
linux嵌入式系统开发之触摸屏---驱动篇(上/硬件原理\下/源码分析)
2019-04-30
对于中断函数返回值的分析
2019-04-30
x210——Android睡眠唤醒串口打印信息
2019-04-30
tianxiawuzhei_linux中触摸屏驱动的实现——基于s3c6410处理器
2019-04-30
四线触摸屏原理
2019-04-30
小议Linux staging tree
2019-04-30
关于内核中 #ifdef CONFIG_**的问题
2019-04-30
C/C++如何返回一个数组/指针
2019-04-30
腾讯AI语音识别API踩坑记录
2019-04-30
linux中Oops信息的调试及栈回溯—Linux人都知道,这是好东西!
2019-04-30
Android照相功能驱动层中HAL的实现(基于OK6410开发板+OV9650摄像头)
2019-04-30