还原二叉树
来源:互联网 发布:江苏省人工智能学会 编辑:程序博客网 时间:2024/04/30 12:36
题目描述
给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。
输入
输出
示例输入
9 ABDFGHIECFDHGIBEAC
示例输出
5
提示
#include <stdio.h>
#include <stdlib.h>
struct node
{
char data;
struct node*l,*r;
};
struct node*creat(char a[],char b[],int n)
{
struct node*t;
char *p;
if(n==0)
return NULL;
t=(struct node*)malloc(sizeof(struct node));
t->data=a[0];
for(p=b;p;p++)
{
if(*p==a[0])
break;
}
int m=p-b;//m是代表个数左子树的如果是0就结束
t->l=creat(a+1,b,m);//a数组的第一个元素就是根
t->r=creat(a+1+m,p+1,n-1-m);
return t;
}
int depth(struct node*t)
{
int del,der;
if(t)
{
del=depth(t->l);
der=depth(t->r);
if(del>der)
return del+1;
else return der+1;
}
return 0;
}
int main()
{
struct node*t;
int n,x;
char a[60],b[60];
while(~scanf("%d",&n))
{
scanf("%s",a);
scanf("%s",b);
t=creat(a,b,n);
x=depth(t);
printf("%d\n",x);
}
return 0;
}
- 还原二叉树
- 二叉树还原
- 还原二叉树
- 二叉树的还原
- pta 还原二叉树
- 还原二叉树
- 还原二叉树
- 还原二叉树
- 还原二叉树
- 数据结构--还原二叉树
- 还原二叉树
- 还原二叉树
- 还原二叉树
- 二叉树还原
- 还原二叉树
- 二叉树的还原
- 先序中序还原二叉树 和 中序后序还原二叉树 总结
- 二叉树遍历序列还原
- Ubuntu14.04LTS版本下vim的配置
- 【转】java进行mysql备份
- 《Java源码分析》:CyclicBarrier(part two)
- UIButton
- Android学习工作各种资源
- 还原二叉树
- 下列有关windows系统的EXE和DLL文件说法错误的是?
- 关于 iOS启动图控制器的一些发现 姿势
- python string字符串的7种连接方式
- HDU4461 The Power of Xiangqi
- spring-mvc跳转根目录下的jsp文件
- Permission denied: make_sock: could not bind to address [::]:80
- windows安装composer方法和使用方法
- Centos 6.5 配置连接Windows远程桌面