您的位置:首页 > 其它

PTA L2-008 最长对称子串 (25 分)

2020-02-01 01:25 281 查看

题目描述:

对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定

Is PAT&TAP symmetric?
,最长对称子串为
s PAT&TAP s
,于是你应该输出11。

输入格式:

输入在一行中给出长度不超过1000的非空字符串。

输出格式:

在一行中输出最长对称子串的长度。

输入样例:

[code]Is PAT&TAP symmetric?

输出样例:

[code]11

 解题思路:

主要就是扫描字符串,具体思路看代码把,比较好理解

AC代码:

[code]
#include<stdio.h>
#include<string.h>
int main(int argc, char *argv[]) {
char x[1009];
gets(x);
int length=strlen(x);
int max=1;
for(int n=0;n<length;n++)
{
int m=length-1;
while(m>n)
{
if(x[m]==x
)
{
int t=n;
int t1=m;
int l=0;
while(t<t1)
{
if(x[t]==x[t1])
{
l=l+2;
}
else
{
break;
}
t++;
t1--;
}
if(t>t1&&x[t]==x[t1])
{
if(l>max)
{
max=l;
}
}
else if(t==t1)
{
l++;
if(l>max)
{
max=l;
}
}
}
m--;
}
}
printf("%d\n",max);
return 0;
}

 

  • 点赞
  • 收藏
  • 分享
  • 文章举报
站内首发文章 那年夏天丶 发布了15 篇原创文章 · 获赞 1 · 访问量 2642 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: