这道题反反复复提交了很多遍,一直都在出现运行超时类的错误
运行超时:
#include <stdio.h>
#include <string.h>
#define N 100001
int main()
{
char str[N],str1[N];
while(gets(str)&&strcmp(str,"2013")!=0)
{
int i,j=0,flag=1;
for(i=0;i<strlen(str);i++)
//使用strlen(str),循环每进行一次,都要计算一次,大大削减了运行效率
{
if(str[i]!=' ')
{
str1[j++]=str[i];
}
}
str1[j]='\0';
for(i=0;i<strlen(str1);i++)
{
if(str1[i]!=str1[strlen(str1)-1-i])
flag=0;
}
if(flag)
{
printf("YES\n");
}else
printf("NO\n");
}
return 0;
}
accept
#include <stdio.h>
#include <string.h>
#define N 100005
int main()
{
char str[N],str1[N];
while(gets(str)&&strcmp(str,"2013")!=0)
{
int i,j=0,flag=1;
int length=strlen(str);//替换处
for(i=0;i<length;i++)
{
if(str[i]!=' ')
{
str1[j++]=str[i];
}
}
str1[j]='\0';
for(i=0;i<j/2;i++)//替换处
{
if(str1[i]!=str1[j-1-i])
flag=0;
}
if(flag)
{
printf("YES\n");
}else
printf("NO\n");
}
return 0;
}