publicclass{ publicint max = 1; publicint l = 0; publicint r = 0;
public String longestPalindrome(String s){
if (s.length() < 1) returnnull; char[] c = s.toCharArray(); for (int i = 0; i < c.length; i++) { dp(i, i + 1, c, 0); dp(i - 1, i + 1, c, 1); } return s.substring(l, r + 1); }
publicvoiddp(int left, int right, char[] c, int count){
if (left < 0 || right >= c.length || c[left] != c[right]) { if (count > max) { l = left + 1; r = right - 1; max = count; } return; } dp(left - 1, right + 1, c, count + 2); } }
近期评论