int countlen(char* s, int n,int left, int right)
{
int len=0;
while((left>=0)&&(right<n)&&(s[left]==s[right]))
{
len=right-left+1;
left--;
right++;
}
return len;
}
char* longestPalindrome(char* s) {
int size=strlen(s);
char* res=malloc(sizeof(char)*(size+1));
int len1=0,len2=0,length=0,maxlength=0;
int end=0,start=0;
for(int i=0;i<size;i++)
{
len1=countlen(s,size,i,i);
len2=countlen(s,size,i,i+1);
length=len1>len2?len1:len2;
if(length>end-start)
{
start=i-(length-1)/2;
end=i+length/2;
}
}
int i=0, j=0;
for(i=0,j=start;j<=end;j++,i++)
{
res[i]=s[j];
}
res[i]='\0';
return res;
}