SDUT 3343 数据结构实验之二叉树四:还原二叉树
数据结构实验之二叉树四:还原二叉树
Problem Description
给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。
Input
Output
Example Input
9
ABDFGHIEC
FDHGIBEAC
Example Output
5 DQE: 本题为恢复二叉树,给出先序序列及中序序列,在二叉树的恢复问题中,已知先序和中序或者已知后序和中序即可恢复二叉树,原理为先序和后序可以获得根节点,从而分割中序序列得到左子树及右子树的中序序列,由此递归完成二叉树的恢复,本题采用指针+引用递归恢复,需对指针有一定的理解再阅读本代码。
#include <iostream>
#include <cstdio> using namespace std; struct Tree
{
char c;
Tree *lt,*rt;
}; Tree *creat(char *&xx,char *zx)
{
if(*zx=='\0')
return NULL;
char *x,*y;
Tree *r=new Tree;
int i=;
while(zx[i]!='\0')
{
if(*xx==zx[i])
{
r->c=zx[i];
zx[i]='\0';
x=zx;
y=zx+i+;
xx++;
r->lt=creat(xx,x);
r->rt=creat(xx,y);
break;
}
i++;
}
return r;
} int dev(Tree *r)
{
if(r==NULL)
return ;
int l=dev(r->lt),rr=dev(r->rt);
int m=l>rr?l:rr;
return m+;
} int main()
{
char xx[],zx[],*p;
Tree *root;
int n;
while(scanf("%d",&n)!=EOF)
{
scanf("%s%s",xx,zx);
p=xx;
root=creat(p,zx);
printf("%d\n",dev(root));
}
return ;
} /***************************************************
User name: ***
Result: Accepted
Take time: 0ms
Take Memory: 160KB
Submit time: 2016-11-03 19:06:10
****************************************************/
SDUT 3343 数据结构实验之二叉树四:还原二叉树的更多相关文章
- SDUT 3401 数据结构实验之排序四:寻找大富翁.!
数据结构实验之排序四:寻找大富翁 Time Limit: 150MS Memory Limit: 512KB Submit Statistic Problem Description 2015胡润全球 ...
- SDUT OJ 数据结构实验之图论四:迷宫探索
数据结构实验之图论四:迷宫探索 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...
- SDUT OJ 数据结构实验之排序四:寻找大富翁
数据结构实验之排序四:寻找大富翁 Time Limit: 200 ms Memory Limit: 512 KiB Submit Statistic Discuss Problem Descripti ...
- SDUT OJ 数据结构实验之链表四:有序链表的归并
数据结构实验之链表四:有序链表的归并 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Desc ...
- SDUT 3376 数据结构实验之查找四:二分查找
数据结构实验之查找四:二分查找 Time Limit: 20MS Memory Limit: 65536KB Submit Statistic Problem Description 在一个给定的无重 ...
- SDUT 3361 数据结构实验之图论四:迷宫探索
数据结构实验之图论四:迷宫探索 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 有一个地下迷 ...
- SDUT-3376_数据结构实验之查找四:二分查找
数据结构实验之查找四:二分查找 Time Limit: 30 ms Memory Limit: 65536 KiB Problem Description 在一个给定的无重复元素的递增序列里,查找与给 ...
- SDUT-2119_数据结构实验之链表四:有序链表的归并
数据结构实验之链表四:有序链表的归并 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 分别输入两个有序的整数序列(分别包 ...
- SDUT OJ 数据结构实验之二叉树四:(先序中序)还原二叉树
数据结构实验之二叉树四:(先序中序)还原二叉树 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem ...
随机推荐
- 浅谈FFT(快速傅里叶变换)
本文主要简单写写自己在算法竞赛中学习FFT的经历以及一些自己的理解和想法. FFT的介绍以及入门就不赘述了,网上有许多相关的资料,入门的话推荐这篇博客:FFT(最详细最通俗的入门手册),里面介绍得很详 ...
- Python之高级库socketserver
socket并不能多并发,只能支持一个用户,socketserver 简化了编写网络服务程序的任务,socketserver是socket的在封装.socketserver在python2中为Sock ...
- wpf中将string格式的颜色转换成color类型
wpf中Brushes有很多对应的颜色,先盗张图,每个颜色对于的名称和ARGB值有了,问题是有时候我们取到的颜色是ARGB值,而且是string类型的,该怎么转换成color呢,只有转换成color之 ...
- 关于overflow:hidden
(本文只针对hidden这个值的用处进行阐述) 关于overflow:hidden;很多人都知道他是溢出隐藏的一个属性,但是并不是很多人知道它的一些神奇的地方!首先先讲一下众所周知的溢出隐藏吧! 溢出 ...
- nodejs 安装 cnpm 命令
npm install -g cnpm --registry=https://registry.npm.taobao.org
- openfl更新2.0后,android输入法又不能输中文了
今天手贱更新了一下openfl,fd里面又各种报错.最伤心的是,之前修改MainView.java输入中文的方法现在居然失效了.还好这段时间研究c2dx,总算是能读能懂修改的那段代码,捣鼓了一下午,算 ...
- Makefile中的路径
使用 $(shell pwd) 可以在Makefile中指定为当前Makefile所在目录的路径
- 配置Nginx实现负载均衡
在关于高并发负载均衡一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件.硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中w ...
- 使用 acl 库针对 C++ 对象进行序列化及反序列编程
在开发网络应用程序时,各个模块之间的数据通信可谓是家常便饭,为了应对这些数据通信时数据交换的要求,程序员发明了各种数据格式:采用二进制数据结构(早期 C 程序员).采用 XML.采用SOAP(坑人的设 ...
- git学习4 常用命令
1:更新: 更新后,更新只在Workspace中,没有到暂存区.git status可以查看当前状态. git add <file> 可以放到待提交区. git checko ...