九度oj 题目1009:二叉搜索树
来源:互联网 发布:如何手机网络定位找人 编辑:程序博客网 时间:2024/06/02 02:43
<dt class="title-hd" style="margin: 0px; padding: 5px 10px 0px; height: 35px; color: rgb(68, 69, 69); border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(187, 187, 187); font-weight: 700; font-size: 18px; line-height: 35px; font-family: 'Microsoft Yahei'; background-image: url(http://ac.jobdu.com/css/images/bg_title_repeat.gif); background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: repeat-x;">题目1009:二叉搜索树</dt><dd class="title-bd" style="margin: 0px; padding: 25px 0px; color: rgb(51, 51, 51); font-family: 'MicroSoft Yahei', Helvetica, Arial, Georgia, Simsun; font-size: 14px; line-height: 21px;"><div class="pl20 mb10 f14 topic-desc-mod" style="margin-bottom: 10px; padding-left: 20px; font-size: 14px; position: relative; width: 745px; overflow: hidden;"><div class="topic-desc-hd" style="margin-bottom: 10px; width: 800px; height: 32px; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: rgb(187, 187, 187); overflow: hidden;"><p style="margin-top: 0px; margin-right: 10px; margin-bottom: 5px; padding: 0px 5px; float: left; height: 25px; width: 140px; line-height: 25px; border: 1px solid rgb(212, 212, 212);"><span style="float: left;">时间限制:</span>1 秒</p><p style="margin-top: 0px; margin-right: 10px; margin-bottom: 5px; padding: 0px 5px; float: left; height: 25px; width: 140px; line-height: 25px; border: 1px solid rgb(212, 212, 212);"><span style="float: left;">内存限制:</span>32 兆</p><p style="margin-top: 0px; margin-right: 10px; margin-bottom: 5px; padding: 0px 5px; float: left; height: 25px; width: 100px; line-height: 25px; border: 1px solid rgb(212, 212, 212);"><span style="float: left;">特殊判题:</span>否</p><p style="margin-top: 0px; margin-right: 10px; margin-bottom: 5px; padding: 0px 5px; float: left; height: 25px; width: 130px; line-height: 25px; border: 1px solid rgb(212, 212, 212);"><span style="float: left;">提交:</span>4422</p><p style="margin-top: 0px; margin-right: 10px; margin-bottom: 5px; padding: 0px 5px; float: left; height: 25px; width: 130px; line-height: 25px; border: 1px solid rgb(212, 212, 212);"><span style="float: left;">解决:</span>1982</p></div><div class="topic-desc-bd" style="line-height: 25px;"><dl style="margin: 0px 0px 20px; padding: 0px;"><dt style="margin: 0px 0px 10px; padding: 0px; font-size: 16px;"><strong>题目描述:</strong></dt><dd style="margin: 0px; padding: 0px; font-size: 14px;"><div class="panel_content">判断两序列是否为同一二叉搜索树序列</div></dd></dl><dl style="margin: 0px 0px 20px; padding: 0px;"><dt style="margin: 0px 0px 10px; padding: 0px; font-size: 16px;"><strong>输入:</strong></dt><dd style="margin: 0px; padding: 0px; font-size: 14px;"><div class="panel_content">开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树。</div></dd></dl><dl style="margin: 0px 0px 20px; padding: 0px;"><dt style="margin: 0px 0px 10px; padding: 0px; font-size: 16px;"><strong>输出:</strong></dt><dd style="margin: 0px; padding: 0px; font-size: 14px;"><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">如果序列相同则输出YES,否则输出NO</p></dd></dl><dl style="margin: 0px 0px 20px; padding: 0px;"><dt style="margin: 0px 0px 10px; padding: 0px; font-size: 16px;"><strong>样例输入:</strong></dt><dd style="margin: 0px; padding: 0px; font-size: 14px;"><pre style="white-space: pre-wrap;">25674325432675763420
- 样例输出:
YESNO
思路:按照二叉搜索树的产生方式输入的序列生成到一维数组里面,比较生成的序列一样与否即可
注意:数组的长度要开的足够大
import java.io.BufferedInputStream;import java.util.Scanner;public class Main1009 {public static void main(String[] args) {// TODO Auto-generated method stubScanner cin=new Scanner(new BufferedInputStream(System.in));char ch1[];int ch2[],ch3[];String s;int n,i,j,len=1024;int flag,m;while(true){n=cin.nextInt(); if(n==0)break;s=cin.next();ch1=s.toCharArray();ch2=new int[len];ch3=new int[len];for(i=0;i<len;i++){ch2[i]=-1;} for(i=0;i<s.length();i++){ m=ch1[i]-'0'; j=0; while(ch2[j]!=-1){ if(m<ch2[j]) j=(j+1)*2-1; if(m>ch2[j]) j=(j+1)*2; } ch2[j]=m; } while(n-->0){ s=cin.next(); // System.out.println(s); ch1=s.toCharArray(); for(i=0;i<len;i++){ ch3[i]=-1; } for(i=0;i<s.length();i++){ m=ch1[i]-'0'; j=0; while(ch3[j]!=-1){ if(m<ch3[j]) j=(j+1)*2-1; if(m>ch3[j]) j=(j+1)*2; } ch3[j]=m; } flag=0; for(i=0;i<len;i++){ if(ch2[i]!=ch3[i]){ flag=1; break; } } // System.out.println(flag); if(flag==0){ System.out.println("YES"); }else{ System.out.println("NO"); } } }}}
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:二叉树
- Zepto源码解读-zepto.js
- POJ 1087 A Plug for UNIX (网络最大流)
- OpenGL ES2.0教程(3):初识MVP
- DOS命令字典..收藏
- cin cout
- 九度oj 题目1009:二叉搜索树
- 子衿的事(84)
- 思考
- NYOJ-欧几里得
- HDU 1430 魔板 (BFS)
- DOS命令字典..收藏
- 自己写的一个入栈程序
- Android自定义ListView或GridView适配器Adapter的getView方法不执行的问题
- Dancing Links题集