34:回文子串

时间:2022-05-07
本文章向大家介绍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 }