九度OJ-题目1009 二叉搜索树
来源:互联网 发布:网络信息时代的特征 编辑:程序博客网 时间:2024/06/09 22:57
题目描述:
判断两序列是否为同一二叉搜索树序列
输入:
开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。
接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。
接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树。
输出:
如果序列相同则输出YES,否则输出NO
样例输入:
2
567432
543267
576342
0
样例输出:
YES
NO
来源:
2010年浙江大学计算机及软件工程研究生机试真题
#include<stdio.h>#include<string.h>int main(){ int n; char str[11];//读取 char ori[1024];//原树 char test[1024];//对比树 while(scanf("%d", &n)!=EOF && n!= 0){ memset(ori, -1, sizeof(ori)); str[0]='\0'; scanf("%s", str); str[strlen(str)]='\0'; ori[1]= str[0]; int j; for(int i= 1; str[i]!='\0'; i++){ j= 1; while(ori[j]!= -1){ if(str[i]< ori[j]){ j= j* 2; } else if(str[i]> ori[j]){ j= j* 2+ 1; } } ori[j]= str[i]; } ori[j+1]='\0'; for(int i= 0; i< n; i++){ memset(test, -1, sizeof(test)); str[0]='\0'; scanf("%s", str); str[strlen(str)]='\0'; test[1]= str[0]; int j; for(int i= 1; str[i]!='\0'; i++){ j= 1; while(test[j]!= -1){ if(str[i]< test[j]){ j= j* 2; } else if(str[i]> test[j]){ j= j* 2+ 1; } } test[j]= str[i]; } int flag= 0; for(int x= 1; ori[x]!='\0'; x++){ if(test[x]!= ori[x]){ printf("NO\n"); flag= 1; break; } } if(flag==0){ printf("YES\n"); } } } return 0;}
0 0
- 九度OJ-题目1009:二叉搜索树
- 九度oj 题目1009:二叉搜索树
- 九度oj:题目1009 二叉搜索树
- 九度OJ,题目1009-二叉搜索树
- 九度 oj 题目1009:二叉搜索树
- 九度OJ-题目1009 二叉搜索树
- 九度OJ 1009 二叉搜索树
- 九度oj-1009-二叉搜索树
- 九度OJ - 1009 - 二叉搜索树
- 九度OJ 1009 二叉搜索树
- 九度OJ-1009-二叉搜索树
- 九度OJ 1009 二叉搜索树
- 九度题目1009:二叉搜索树
- 九度题目1009:二叉搜索树
- 【九度】题目1009:二叉搜索树
- 九度oj 题目1009:二叉搜索树 【ZJU2010考研机试题5】【二叉排序树】
- 九度OJ 1009:二叉搜索树 (二叉树)
- 九度Oj题目1113:二叉树
- OpenCV学习笔记1
- 概率DP初学整合
- 牛场围栏详解
- 【图像特征提取13】SIFT原理之KD树+BBF算法解析
- ImageNet Classification with Deep Convolutional Neural Network 翻译
- 九度OJ-题目1009 二叉搜索树
- HTML和CSS的知识点
- 团体程序设计天梯赛-练习集 L2-008. 最长对称子串 解题报告
- 同时按住HOME键和关机键10秒 可以重启 iphone手机
- 网络路由和交换机的区别
- 欢迎使用CSDN-markdown编辑器
- 剑指offer-第一个只出现一次的字符
- 【SinGuLaRiTy-1007】 2017-03-18 COCI 2011~2012 #2 综合测试
- 我的编程之旅-刚刚好