#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int expendAroundCenter(string str, int i, int j){
int left=i;
int right=j;
while(left>=0&&right<str.size()&&str[left]==str[right]){
left--;
right++;
}
return right-left-1;
}
int main(){
string str;
cin>>str;
int start=0,end=0;
for(int i=0;i<str.size();i++){
int len1=expendAroundCenter(str,i,i);
int len2=expendAroundCenter(str,i,i+1);
int len=max(len1, len2);
if(len>end-start){
start=i-(len-1)/2;
end=i+len/2;
}
}
cout<<str.substr(start,end-start+1)<<endl;
return 0;
}
最长回文字符串
最新推荐文章于 2023-05-27 19:53:29 发布