解题步骤:
参考代码:
class Solution {
public:int longestPalindromeSubseq(string s) {int n=s.size();vector<vector<int>> dp(n,vector<int>(n));//记得从下往上填表for(int i=n-1;i>=0;i--){//记得i是小于等于j的for(int j=i;j<n;j++){//状态转移方程if(s[i]!=s[j]){dp[i][j]=max(dp[i+1][j],dp[i][j-1]);}else{if(i==j){dp[i][j]=1;}else if(i+1==j){dp[i][j]=2;}else{dp[i][j]=dp[i+1][j-1]+2;}}}}//返回值return dp[0][n-1];}
};
你学会了吗???