import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 思路:穷举每种偶数子串,并判断其是否为重复子串 */ public int solve (String a) { int maxLen = 0 ; for(int i = 0 ; i < a.length() ; i ++) {//起点 for(int j = i + 1 ; j < a.length() ; j += 2) {//终点(重复子串一定是偶数长度) int curLen = repeatLen(a , i , j) ; if(curLen > maxLen) maxLen = curLen ; } } return maxLen ; } //若a[s]~a[e]是重复子串,则返回其长度;否则返回0 public int repeatLen(String a , int s , int e) { int s2 = s + (e - s + 1) / 2 ; int i = s ; int j = s2 ; while(i < s2) { if(a.charAt(i) != a.charAt(j)) return 0 ; i ++ ; j ++ ; } return e - s + 1 ; } }