题解 | 最长回文子串
最长回文子串
https://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af
class Solution { public: vector< vector<int> > dp; int getLongestPalindrome(string A) { int n = A.size(); dp.resize(n, vector<int>(n, 0)); //默认不回文; for(int i=0; i<n; ++i){ dp[i][i] = 1; //单个字符一定回文; } int maxLen =1; int len = 2; while(len <= n){ for(int i=0; i<= n-len; ++i){ int end = i+len-1; if(len == 2 && A[i] == A[end]){ dp[i][end] = 1; maxLen = 2; }else if(A[i] == A[end] && dp[i+1][end -1]){ dp[i][end] = 1; maxLen = len; } } ++len; } return maxLen; } };