Traverse the array,every times start from the current postion extend to both sides.
// 1040. Longest Symmetric String.cpp: 主项目文件。
#include "stdafx.h"
#include <cstdio>
#include <cstring>
const int N=1003;
char str[N];
int isSymmetric(char *str,int length){
int max=0;
for(int i=0;i<length;i++){
int low=i,high=i+1;
while(low>=0&&high<length&&str[low]==str[high])
low--,high++;
int dist=high-low-1;
if(dist>max)
max=dist;
low=i-1,high=i+1;
while(low>=0&&high<length&&str[low]==str[high])
low--,high++;
dist=high-low-1;
if(dist>max)
max=dist;
}
return max;
}
int main()
{
gets(str);
int length=strlen(str);
int res=isSymmetric(str,length);
printf("%d\n",res);
return 0;
}