数据结构实验之二叉树八:(中序后序)求二叉树的深度
来源:互联网 发布:数据恢复大师下载 编辑:程序博客网 时间:2024/06/10 06:55
数据结构实验之二叉树八:(中序后序)求二叉树的深度
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic Discuss
Problem Description
已知一颗二叉树的中序遍历序列和后序遍历序列,求二叉树的深度。
Input
输入数据有多组,输入T,代表有T组数据。每组数据包括两个长度小于50的字符串,第一个字符串表示二叉树的中序遍历,第二个表示二叉树的后序遍历。
Output
输出二叉树的深度。
Example Input
2dbgeafcdgebfcalnixulinux
Example Output
43
Hint
代码如下:
#include<bits/stdc++.h>using namespace std;struct node{ char data; struct node *left; struct node *right;};struct node *Creat(int n,char *str,char *str1){ struct node *tree; tree=new node; if(n==0) return NULL; int i; tree->data=str1[n-1]; for(i=0; i<n; i++) { if(str[i]==str1[n-1]) { break; } } tree->left=Creat(i,str,str1); tree->right=Creat(n-i-1,str+i+1,str1+i); return tree;};int Deepth(struct node *tree){ int hl,hr; int max; if(tree) { hl=Deepth(tree->left); hr=Deepth(tree->right); if(hl>=hr) max=hl; else max=hr; return max+1; } else return 0;}int main(){ int t; char str[100]; char str1[100]; struct node *tree; cin>>t; while(t--) { cin>>str; cin>>str1; int len=strlen(str); tree=Creat(len,str,str1); int k=Deepth(tree); cout<<k<<endl; } return 0;}
阅读全文
0 0
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- SDUT-2804 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 2804 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 2804 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- netty 错误 #[IllegalReferenceCountException: refCnt: 0, decrement: 1]
- 设计模式-工厂模式
- 算法基础学习之路01-排序-冒泡排序
- Nginx安装最新版
- 杜教板子 线性推
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 选数字
- 【经典】mysql ISSAM如何快速去掉某个表中的重复名称
- 面试题之java基础:equals()和hashCode()区别?
- 使用可变参数,实现函数,求函数参数的平均值
- MySQL子查询
- linux共享内存踩的坑
- 用代码手把手教你使用MVVM
- 2017年双十一周六——别样的项目经理培训经历