#include <cstddef> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param A string字符串 * @return int整型 */ const static int maxn = 1010; int dp[maxn][maxn]; int getLongestPalindrome(string A) { // write code here int ans = 1; int len = A.length(); for(int i = 0; i < len; i++) { dp[i][i] = 1; if((i < len - 1) && (A[i] == A[i + 1])){ dp[i][i + 1] = 1; ans = 2; } } for(int L = 3; L <= len; L++) { for(int i = 0; i + L - 1 < len; i++) { int j = i + L - 1; if(A[i] == A[j] && dp[i + 1][j - 1] == 1){ dp[i][j] = 1; ans = L; } } } return ans; } };