原题题目
代码实现(首刷部分看解部分自解)
int test(char* text,int count,int start1,int start2)
{
int i;
for(i=0;i<count;i++)
if(text[start1+i] != text[start2+i]) return 0;
return 1;
}
int longestDecomposition(char * text){
int strl = strlen(text),start1 = 0,start2 = strl-1,count = 1,ret = 0,start1end = 0;
for(int i=0;start1end<=start2;i++)
{
if(start1end == start2) ret++;
else
{
if(test(text,count,start1,start2))
{
ret += 2;
start1 = start1end+1;
count = 1;
}
else
{
count++;
if(start1end == start2-1) ret++;
}
}
start1end++;
start2--;
}
return ret;
}