Java面试题目---偶串

题目:

如果一个字符串由两个相同字符串连接而成,就称这个字符串是偶串。例如"xyzxyz"和"aaaaaa"是偶串,但是"ababab"和"xyzxy"却不是。
牛牛现在给你一个只包含小写字母的偶串s,你可以从字符串s的末尾删除1和或者多个字符,保证删除之后的字符串还是一个偶串,牛牛想知道删除之后得到最长偶串长度是多少。 
输入描述:
输入包括一个字符串s,字符串长度length(2 ≤ length ≤ 200),保证s是一个偶串且由小写字母构成

输出描述:
输出一个整数,表示删除之后能得到的最长偶串长度是多少。保证测试数据有非零解
输入例子1:
abaababaab
输出例子1:
6
 
  
import java.util.Scanner;

public class ouString {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		String str=sc.next();
		System.out.println(getLenth(str));
	}

	private static int getLenth(String str) {

		int len=str.length();
		int i=1;
		int end=len-1;//字符串先删除最后一位;
	
		if(len<2 || len>200)
			return 0;
		
		while(end>1){
			String sub=str.substring(0, end);
			String str1=str.substring(0,end/2);
			String str2=str.substring(end/2, end);
			
			if(str1.equals(str2)){
				return end;
			}else{
				end=len-i;
				i++;
			}
		}
		return 0;
	}
}

你可能感兴趣的:(Java面试题集)