【LeetCode】5.最长回文子串(中心扩散法)
题目描述

代码
class Solution {
public:
string longestPalindrome(string s) {
int strlen=s.size();
int left=0;
int right=0;
int len=1;
int maxlen=0;
int maxstart=0;
for(int i=0;i<strlen;i++){
left = i-1;
right = i+1;
while(left>=0&&s[left]==s[i]){
left--;
len++;
}
while(right<strlen && s[right]==s[i]){
right++;
len++;
}
while(left>=0&&right<strlen&&s[left]==s[right]){
left--;
right++;
len=len+2;
}
if(len>maxlen){
maxlen=len;
maxstart=left;
}
len=1;
}
return s.substr(maxstart+1,maxlen) ;
}
};