int Expand(int L,int R,string s)
{
while(L>=0&&R<s.size())
{
if(s[L]==s[R])
{
L--;
R++;
}
else
break;
}
return R-L-1;
}
string longestPalindrome(string s) {
int left=0,right=0,len=0;
if(s.size()==0)
return "";
for(int i=0;i<s.size();i++)
{
int len1=Expand(i,i,s);
int len2=Expand(i,i+1,s);
if(len1>len2)len=len1;
else len=len2;
if(len>right-left+1)
{
left=i-(len-1)/2;
right=i+len/2;
}
}
return s.substr(left,right-left+1);
}