回文字符串

有很多方法解决回文字符串的问题,以下两种我认为最好理解

再定义一个字符串,将原字符串逆序传给新字符串,判断两个是否相等,若相等,则是回文,否则不是。

完整代码:

#include<iostream>

#include<string>

using namespace std;

int main()

{

string s;

cin>>s;

string t;

for(int i=s.size()-1;i>=0;i--)

{

t+=s[i];

}

if(t==s)

{

cout<<"Yes!"<<endl;

}

else

{

cout<<"No!"<<endl;

}

return 0;

}

直接将字符串对半砍,判断两部分是否相等,这个比上个更简洁

完整代码:

#include<iostream>

using namespace std;

int main()

{

string s;

cin>>s;

string m;

for(int i=0;i<s.size()/2;i++)

{

if(s[i]!=s[s.size()-i-1])

{

cout<<"no"<<endl;

return 0;

}

}

cout<<"yes"<<endl;

return 0;

}

全部评论

相关推荐

07-02 13:50
闽江学院 Java
点赞 评论 收藏
分享
06-10 23:36
已编辑
首都经济贸易大学 C++
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务