C++判断字符串是否为回文(回文:顺读倒读都相同),求大神看看下面代码哪里错了?

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main()
{
char a[101],b[101];int len,judge=1;
gets(a);len=strlen(a);
for(int i=0;i<len;i++)
{
for(int j=(len-1);j>=0;j--)
b[j]=a[i];
}
for(int i=0;i<len;i++)
{
if(a[i]!=b[i])
{
cout<<"no"<<endl;
return 0;
}
}
cout<<"yes"<<endl;
return 0;
}

第1个回答  2019-12-18
折半 对比就行
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main()
{ char a[101],b[101];
int len,judge=1;
gets(a);len=strlen(a);
for(int i=0;i<len/2;i++)
{ if(a[i] != a[len-i-1])
{ cout<<"no"<<endl;
return 0;
}
}
cout<<"yes"<<endl;
return 0;
}本回答被网友采纳
相似回答