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