首页 > 代码库 > 34:回文子串

34:回文子串

 

34:回文子串

  • 查看
  • 提交
  • 统计
  • 提问
总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

给定一个字符串,输出所有长度至少为2的回文子串。

回文子串即从左往右输出和从右往左输出结果是一样的字符串,比如:abba,cccdeedccc都是回文字符串。

输入
一个字符串,由字母或数字组成。长度500以内。
输出
输出所有的回文子串,每个子串一行。
子串长度小的优先输出,若长度相等,则出现位置靠左的优先输出。
样例输入
123321125775165561
样例输出
331177552332211257756556123321165561
来源
习题(12-6)
 1 #include<cstdio> 2 #include<cstring> 3 char c[505]; 4 int main() { 5     int n; 6     scanf("%s",c); 7     n=strlen(c); 8     for(int l=2; l<=n; ++l) 9         for(int i=0; i+l<=n; ++i) 10         {11             bool flag=0;12             for(int j=i; j<i+l; ++j)13                 if(c[j]!=c[i+l-j+i-1]) 14                 {15                     flag=1;16                     break;17                 }18             if(!flag) 19             {20                 for(int j=i; j<i+l; ++j)21                 printf("%c",c[j]);22                 printf("\n");23             }24         }25     return 0;26 }

 

34:回文子串