题目:
![](https://img-blog.csdnimg.cn/direct/333ec9f9116f460fba5661f6680113b9.png)
代码(首刷看解析 2024年3月11日):
class Solution {
public:
string longestPalindrome(string s) {
if (s.empty() || s.size() < 2) return s;
int maxStart = 0;
int maxEnd = 0;
int maxLen = 1;
vector<vector<bool>> dp(s.size(), vector<bool>(s.size(), false));
for (int r = 1; r < s.size(); ++r) {
for (int l = 0; l < r; ++l) {
if (s[l] == s[r] && (r - l <= 2 || dp[l + 1][r - 1])) {
dp[l][r] = true;
if (r - l + 1 > maxLen) {
maxStart = l;
maxEnd = r;
maxLen = r - l + 1;
}
}
}
}
return s.substr(maxStart, maxLen);
}
};