class Solution {
public:
string longestPalindrome(string s)
{
int n=s.size();
if(n==0)
return "";
string lon=s.substr(0,1);
for(int i=0;i<n-1;i++)
{
string s1=expand(s,i,i);
if(lon.size()<s1.size())
lon=s1;
string s2=expand(s,i,i+1);
if(lon.size()<s2.size())
lon=s2;
}
return lon;
}
string expand(string s,int i,int j)
{
int l=i,r=j,n=s.size();
while(l>=0&&r<=n-1&&s[l]==s[r])
{
l--;
r++;
}
return s.substr(l+1,r-l-1);
}
};
public:
string longestPalindrome(string s)
{
int n=s.size();
if(n==0)
return "";
string lon=s.substr(0,1);
for(int i=0;i<n-1;i++)
{
string s1=expand(s,i,i);
if(lon.size()<s1.size())
lon=s1;
string s2=expand(s,i,i+1);
if(lon.size()<s2.size())
lon=s2;
}
return lon;
}
string expand(string s,int i,int j)
{
int l=i,r=j,n=s.size();
while(l>=0&&r<=n-1&&s[l]==s[r])
{
l--;
r++;
}
return s.substr(l+1,r-l-1);
}
};