import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param A string字符串 * @return int整型 */ public int getLongestPalindrome (String A) { int max = Integer.MIN_VALUE; for(int i = 0; i < A.length(); i++){ max = Math.max(max, Math.max(getMaxLen(A, i, i), getMaxLen(A, i, i+1))); // 第二个适用于长度为偶数时 } return max; } private int getMaxLen(String s, int left, int right){ while(left >= 0 && right < s.length() && s.charAt(left) == s.charAt(right)){ left--; right++; } return right - left - 1; } }
从中心向两边扩散