我这个方法的好处是,从大到小来找,找到了就可以直接退出循环,不需要遍历完所有的情况。
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
String line = in.nextLine();
int length = line.length();
String result = "";
//第一次循环,控制每次递减的字符串长度
for (int i = 0; i < length; i++) {
int subLength = length - i;
//第二次循环,控制每次截取的开始下标,下标小于等于扣减的字符串数量
for (int j = 0; j <= i; j++) {
String substring = line.substring(j, j + subLength);
if (isHuiWen(substring)) {
result = substring;
break;
}
}
if (!result.equals("")) {
break;
}
}
System.out.println(result.length());
}
}
public static boolean isHuiWen(String subLine) {
StringBuilder stringBuilder = new StringBuilder(subLine);
stringBuilder.reverse();
return stringBuilder.toString().equals(subLine);
}
}

京公网安备 11010502036488号