主要结题点在于:
1.在不同位置取不同长度字符串,判断是否为回文子串;
2.判断回文子串的方法:
1)判断首尾字符是否一一对应
2)将字符串逆序后,对比是否内容相同
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
//循环判断不同长度的字符串是否为回文串
for(int i=input.length();i>=1;i--){//i代表回文串可能的长度
for(int j=0;j<=input.length()-i;j++){//j代表回文串开始的位置
if(flag(input.substring(j,j+i))){
System.out.println(i);
return;
}
}
}
}
//判断是否为回文串:
//1.逐个字符判断;
//2.判断逆序是否相同
public static boolean flag(String str) {
//逐个字符判断
// for (int i = 0; i < str.length() / 2; i++) {
// if (str.charAt(i) != str.charAt(str.length() - 1 - i)) {
// return false;
// }
// }
// return true;
//判断逆序是否相同
String reStr=new StringBuilder(str).reverse().toString();
if(reStr.equals(str)){
return true;
}else{
return false;
}
}
}

京公网安备 11010502036488号