最长回文子串
class Solution {
public:
string longestPalindrome(string s) {
if(s.size()==0 || s.size()==1) return s;
int n=s.size();
vector<vector<bool>> isPail(n,vector<bool>(n,false));
isPail[0][0]=true;
int left=0,right=0;
for(int j=1;j<n;j++){
for(int i=0;i<j;i++){
if(s[i]==s[j] && (isPail[i+1][j-1] || (j-1-(i+1)+1)<2)){
isPail[i][j]=true;
if(j-i>right-left){
left=i;right=j;
}
}
}
}
return s.substr(left,right-left+1);
}
};
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步