SDUT 2482 二叉排序树
来源:互联网 发布:华夏风云武将数据 编辑:程序博客网 时间:2024/05/22 09:04
题目描述
二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 今天我们要判断两序列是否为同一二叉排序树
输入
开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。
接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉排序树。
接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉排序树。(数据保证不会有空树)
输出
示例输入
21234567899876543214321567890
示例输出
NONO
#include <stdio.h>#include <string.h>#include <stdlib.h>char a[20],b[20],str1[20],str2[20];int x,y;struct node{ char data; struct node *l; struct node *r;};struct node *create(struct node *p, char x){ if(p==NULL) { p=(struct node *)malloc(sizeof (struct node )); p->data=x; p->l=NULL; p->r=NULL; } else { if(x<=p->data) p->l=create(p->l,x); else p->r=create(p->r,x); } return p;}void pre1(struct node *p){ if(p!=NULL) { a[x++]=p->data; pre1(p->l); pre1(p->r); }}void pre2(struct node *p){ if(p!=NULL) { b[y++]=p->data; pre2(p->l); pre2(p->r); }}int main(){ int n,i; while(~scanf("%d",&n)&&n) { scanf("%s",str1); struct node *root1=NULL; for(i=0;str1[i]!='\0';i++) { root1=create(root1,str1[i]); } x=0; pre1(root1); a[x]='\0'; while(n--) { scanf("%s",str2); struct node *root2=NULL; for(i=0;str2[i]!='\0';i++) { root2=create(root2,str2[i]); } y=0; pre2(root2); b[y]='\0'; if(strcmp(a,b)==0) printf("YES\n"); else printf("NO\n"); } } return 0;}
0 0
- SDUT 2482 二叉排序树
- SDUT 2482 二叉排序树
- SDUT 2482 二叉排序树
- SDUT 2482 二叉排序树
- SDUT 2482 二叉排序树
- SDUT 2482 二叉排序树
- 二叉排序树 (sdut oj 2482)
- <sdut-ACM> 2482二叉排序树
- sdut 二叉排序树
- SDUT-二叉排序树
- sdut oj2482 二叉排序树
- SDUT oj 二叉排序树
- 二叉排序树——SDUT
- SDUT-数据结构实验之查找一:二叉排序树
- [2482]二叉排序树
- 2482二叉排序树
- 2482-二叉排序树
- 2482-二叉排序树
- UVA 10420 List of Conquests
- F题【LightOJ 1002】【dijkstra】
- 两主机互ping的一些例子及其解释
- leetcode 102 —— Binary Tree Level Order Traversal
- 数据分析与数据挖掘类的职位必备技能
- SDUT 2482 二叉排序树
- WCF基础教程(二)——解析iis8和iis8.5+VS2013发布wcf服务问题
- [leetcode 234]Implement Queue using Stacks
- python正则表达式 re (二)compile
- 大数据.......
- mysql存储引擎InnoDB插入数据的过程详解
- HDU 1789 Doing Homework again
- Spark 性能相关参数配置详解-shuffle篇
- 如何new一个二维数组