看了一个人的解法 ,自己就当 再叙述一遍吧。
思路:暴力穷举。判断是否回文,把当前字符串反转与本身相比。
(0,8),(0,7),(0,6),(0,5),(0,4),(0,3),(0,2),(0,1)
(1,8),(1,7),(1,6),(1,5),(1,4),(1,3),(1,2),
依次逐个 判断是否回文,是则于之前的max比较,大于则更新max
//原作者链接 :https://blog.nowcoder.net/n/f2f1f3f325b54a2e8ddb7fa3ec333a78?f=comment
import java.util.*;
 
public class Main {
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        String s = input.nextLine();
        int max = 0;
        /**
        *双指针遍历找到最长子串
        */
        for (int i = 0; i < s.length(); i++) {
            for (int j = s.length(); j > i; j--) {
                String toBeJuged = s.substring(i, j);
                if (isPalindromeString(toBeJuged)) {
                    max = Math.max(max, j - i);
                }
            }
        }
        System.out.print(max);
    }
     
    /**
    *判断一个字符串是否是回文字符串的方法
    */
    static boolean isPalindromeString(String s) {
        return s.equals(new StringBuilder(s).reverse().toString());
    }
}