34:回文子串

 

34:回文子串

总时间限制: 
1000ms
内存限制: 
65536kB
描述

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

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

输入
一个字符串,由字母或数字组成。长度500以内。
输出
输出所有的回文子串,每个子串一行。
子串长度小的优先输出,若长度相等,则出现位置靠左的优先输出。
样例输入
123321125775165561
样例输出
33
11
77
55
2332
2112
5775
6556
123321
165561
来源
习题(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 }

 

上一篇:关于数组排序demo


下一篇:34丨关于Linux网络,你必须知道这些(下)