class Solution {
public:
string longestPalindrome(string s) {
int n=s.size(),mx=1,begin=0;
vector<vector<int>>dp(n,vector<int>(n));
if (n < 2) {
return s;
}
for(int i=0;i<n;i++){
dp[i][i]=1;
if(i+1<n){
if(s[i]==s[i+1]){
dp[i][i+1]=1;
begin=i;
mx=2;
}
}
}
for(int len=3;len<=n;len++){
for(int i=0;i+len-1<n;i++){
int j=i+len-1;
if(s[i]==s[j]&&dp[i+1][j-1]==1){
dp[i][j]=1;
begin=i;
mx=len;
}
}
}
return s.substr(begin,mx);
}
};
leetcode 5. 最长回文子串
于 2022-04-02 15:46:38 首次发布