class Solution {
public:
int longgestPalindromeSubseq(string s)
{
const int n = s.length();
vector<vector<int>> dp(n, vector<int>(n, 0));
for(int l = 1; l <= n; ++l) //子串长度
for(int i = 0; i <= n -l; ++i) //子串起始地址
{
int j =i + l -1;
if(i = j)
{
dp[i][j] = 1;
continue;
}
if(s[i] = s[j])
dp[i][j] = dp[i+1][j-1] + 2;
else
dp[i][j] = max(dp[i+1][j], dp[i]i[j-1]);
}
return dp[0][n-1];
}
}