题解 | #最长回文子串#
最长回文子串
http://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af
import java.util.*; public class Solution { public int getLongestPalindrome(String A, int n) { if (n < 2) return A.length(); int maxLen = 0; boolean[][] dp =new boolean[n][n]; for(int right =1; right<n;right ++){ for(int left =0;left <= right;left ++ ){ if(A.charAt(left) != A.charAt(right)) continue; if(left ==right){ dp[left][right] = true; }else if(right - left <=2){ dp[left][right] =true; }else{ dp[left][right] = dp[left+1][right-1]; } if(dp[left][right] && right - left +1 > maxLen){ maxLen = right -left +1; } } } return maxLen; } }