二叉排序树(oj2482)
来源:互联网 发布:微服务架构 java框架 编辑:程序博客网 时间:2024/06/07 20:42
二叉排序树
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 今天我们要判断两序列是否为同一二叉排序树
输入
开始一个数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[100], b[100];char I1[100], P1[100], I2[100], P2[100];int N;struct node{ char data; node *lch,*rch;};void creat(node *&t,char n) { if(t){ if(n<t->data)creat(t->lch,n); else creat(t->rch,n); } else { t=new node ; t->data=n; t->lch=NULL; t->rch=NULL; }}void inorder(node *&t,char I[]){ if(t) { inorder(t->lch,I); I[N++]=t->data; inorder(t->rch,I); }}void posorder(node *&t,char P[]){ if(t) { posorder(t->lch,P); posorder(t->rch,P); P[N++]=t->data; }}int main(){ int n,t; while(scanf("%d",&n),n) { memset(a,0,sizeof(a)); scanf("%s",a); t=strlen(a); int i; node *t1; t1=NULL; for(i=0;i<t;i++) { creat(t1,a[i]); } N=0; inorder(t1,I1); I1[N]='\0'; N=0; posorder(t1,P1); P1[N]='\0'; while(n--) { memset(b,0,sizeof(b)); scanf("%s",b); t=strlen(b); if(strlen(a)!=strlen(b))printf("NO\n"); else { node *t2; t2=NULL; for(i=0;i<t;i++) { creat(t2,b[i]); } N=0; inorder(t2,I2); I2[N]='\0'; N=0; posorder(t2,P2); P2[N]='\0'; if(strcmp(I1,I2)||strcmp(P1,P2))printf("NO\n"); else printf("YES\n"); } } } return 0;}
0 0
- 二叉排序树(oj2482)
- OJ2482二叉排序树
- sdut oj2482 二叉排序树
- 二叉排序树(字符串统计)
- poj 2418(二叉排序树)
- 数据结构之(二叉排序树)
- 【二叉排序树(1)】
- 【二叉排序树 (2)】
- 【二叉排序树(3)】
- 二叉排序树(c++实现)
- java二叉排序树(BST)
- 二叉排序树(模板类)
- 数据结构---二叉排序树(BST)
- 二叉排序树(BST)
- 二叉排序树(二)
- 二叉排序树(面试四)
- 二叉排序树(Java)
- 二叉排序树(java)
- 使用sed输出文件的指定行
- 情商tips
- CentOS /bin/bash^M: bad interpreter解决方法
- Python风格规范
- 人生经验 考上了大学相当于迈入了光辉的殿堂?相当于走向了成功?
- 二叉排序树(oj2482)
- 程序插桩
- android 中Drawable跟Bitmap转换及常用于图片相关操作方法 - Android
- [置顶]【H3 BPM工作流程管理产品小故事】第二篇 文本默认值
- 兼容opacity
- 【Android】彻底理解ldpi、mdpi、hdpi、xhdpi、xxhdpi
- css设置文本样式
- 好久写博客了,写个总结吧
- Map两种遍历方式