主要结题点在于:
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; } } }