时间限制:1秒
空间限制:32768K
如果一个字符串由两个相同字符串连接而成,就称这个字符串是偶串。例如"xyzxyz"和"aaaaaa"是偶串,但是"ababab"和"xyzxy"却不是。
牛牛现在给你一个只包含小写字母的偶串s,你可以从字符串s的末尾删除1和或者多个字符,保证删除之后的字符串还是一个偶串,牛牛想知道删除之后得到最长偶串长度是多少。
输入描述:
输入包括一个字符串s,字符串长度length(2 ≤ length ≤ 200),保证s是一个偶串且由小写字母构成
输出描述:
输出一个整数,表示删除之后能得到的最长偶串长度是多少。保证测试数据有非零解
输入例子1:
abaababaab
输出例子1:
6
import java.util.Scanner;
publicclass DualString {
publicstaticbooleanisDual(Stringstr)//判断字符串是否为偶串
{
intlen=str.length();
if(len%2==1)//偶串长度必定为偶数
returnfalse;
intlen1=len/2;
for(inti=0;i<len1;i++)
if(str.charAt(i)!=str.charAt(i+len1))
returnfalse;
returntrue;
}
publicstaticvoid main(String[] args)
{
Scanner scan =newScanner(System.in);//这种输入要学会
//DualStringds=new DualString();
while(scan.hasNext())//这是要接受多组输入的节奏啊
{
String str = scan.nextLine();
intlen=str.length();
for(inti=len-2;i>=0;i--)//i=len,取到len左侧,此时是最大长度。原来就是偶串,现在问的是删除一部分之后的最大偶串长度
if(isDual(str.substring(0,i)))
{
System.out.println(i);
break;
}
}
}
}