class Solution {
public:
string longestPalindrome(string s) {
int len_s=s.size();
int max_len=0;
int cen_pos=0;
bool flag=false;
for(int i=0;i<len_s;i++)
{
int cur_len=0;
while((i-cur_len)>=0 && (i+cur_len)<len_s && s[i-cur_len]==s[i+cur_len])
cur_len++;
if(cur_len>max_len)
{
max_len=(cur_len-1);
cen_pos=i;
flag=false;
}
cur_len=0;
while((i-cur_len-1)>=0 && (i+cur_len)<len_s && s[i-cur_len-1]==s[i+cur_len])
cur_len++;
if(cur_len>max_len)
{
max_len=cur_len;
cen_pos=i;
flag=true;
}
}
if(flag)
return s.substr(cen_pos-max_len,2*max_len);
return s.substr(cen_pos-max_len,2*max_len+1);
}
};