本题求的是最长回文子串,那么在回文子串题目上,增加对字符串的切割即可,并始终保存最大回文子串
class Solution {
public:
string longestPalindrome(string s) {
vector<vector<bool>> dp(s.size(), vector<bool>(s.size(), false));
string result;
for(int i = s.size() - 1; i >= 0; i--){
for(int j = i; j < s.size(); j++){
if(s[i] == s[j] && (j - i <= 1 || dp[i + 1][j - 1])){
dp[i][j] = true;
if(j - i + 1 > result.size()){
result = s.substr(i, j - i + 1);
}
}
}
}
return result;
}
};