描述
给定一个字符串,输出所有长度至少为2的回文子串。
回文子串即从左往右输出和从右往左输出结果是一样的字符串,比如:abba,cccdeedccc都是回文字符串。
输入
一个字符串,由字母或数字组成。长度500以内。
输出
输出所有的回文子串,每个子串一行。
子串长度小的优先输出,若长度相等,则出现位置靠左的优先输出。
#include<stdio.h>
#include<string.h>
void judge(char c[],int len,int k)
{
for(int i=k;i<len;i++)
{
int t=i,flag=1;
for(int l=k;l>=1;l--)
{
if(c[i-l]==c[t])
{
t--;
}
else
{
flag=0;
}
}
if(flag)
{
for(int j=i-k;j<=i;j++)
{
printf("%c",c[j]);
}
printf("\n");
}
}
while(k<len)
{
return judge(c,len,k+1);
}
}
int main()
{
int i=0,l=0;
char c[501];
gets(c);
int len=strlen(c);
judge(c,len,1);
}