当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015计算机二级考试指导:文本中找最长的回文字符串
发布时间:2010/3/10 16:19:56 来源:城市学习网 编辑:MOON
  1*难度:初级
  2*问题:从输入文件calfflac.in中读取文本,找到最长的回文串(翻转之后和它自己相等的字符串),只考虑字母,不区分大小写
  3*输出最长回文串的长度,并且输出它在原文中的对应的串。如果多个回文串长度相等,输出第一个。
  4*注:该题目来自:http://ace.delos.com/usacogate,有兴趣的朋友可以去上面注册,很好的练习平台。
  5*/
  6importjava.util.*;
  7importjava.io.*;
  8classcalfflac
  9{
  10publicstaticvoidmain(Stringargs)throwsIOException{
  11//UseBufferedReaderratherthanRandomAccessFile;it‘smuchfaster
  12BufferedReaderf=newBufferedReader(newFileReader("calfflac.in"));
  13//inputfilenamegoesabove
  14PrintWriterout=newPrintWriter(newBufferedWriter(newFileWriter("calfflac.out")));
  15Stringtemp=null;
  16StringBuilderorigin=newStringBuilder(20000);//包含原来的字符串
  17StringBuilderletters=newStringBuilder(20000);//包含字母
  18intindexes=newint[20000];
  19while((temp=f.readLine())!=null)
  20{
  21origin.append(temp);
  22origin.append(‘“n‘);
  23}
  24intlen=origin.length();
  25for(inti=0;ilen;i++)
  26{
  27charc=(origin.charAt(i));
  28if(c=‘a‘&&c=‘z‘c=‘A‘&&c=‘Z‘)//只要字母
  29{
  30letters.append(origin.charAt(i));
  31indexes[letters.length()-1]=i;
  32}
  33}
  34intmaxLength=1;//回文串的长度
  35intmaxIndex=0;//回文串的中间字母的索引
  36len=letters.length();
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved