问题相关代码,请勿粘贴截图
string longestPalindrome(string s) {
int len=s.length();
if(len==0)
return "";
int maxLen=1;
int start=0;
int left=0;
int right=0;
for(int i=0;i<len&&len-i>maxLen/2;){
left=i;
right=i;
while(right<len-1&&s[right]==s[right+1])
right++;
i=right+1;
while(right<len-1&&left>0&&s[left-1]==s[right+1]){
right++;
left--;
}
if(maxLen<right-left+1){
maxLen=right-left+1;
start=left;
}
}
return s.substr(start,maxLen);
}
int main() {
string s("yyccyycc");
cout<<longestPalindrome(s)<<endl;
return 0;
}
for(int i=0;i<len&&len-i>maxLen/2;)这个for中的len-i>maxLen/2条件的作用,要求举例说明该条件的作用。谢谢!