B2124 判断字符串是否为回文 题解
思路解析
这题主要分为两个部分:回文,字符串。
字符串的部分可以使用 C++ 自带的 型变量(字符串)进行操作,这题要用到 型变量中自带的可以返回字符串长度的length()
函数。
回文的部分,我们可以根据题目内对回文的定义来判断一个字符串是否是回文:把一个字符串对折,如果两边一样,则是回文,不一样则不是。
如图,我们按照图上的方法进行匹配处理。
代码剖析
2.1定义字符串
string s;
cin>>s;
使用string
定义一个字符串。
2.2循环判断回文
for(int i=0,j=s.length()-1;i<=s.length()/2;i++,j--){//两个下标依次查找两侧。
if(s[i]!=s[j]){//如果匹配不上,就不是回文串
cout<<"no"<<endl;
return 0;
}
}
cout<<"yes"<<endl;//都匹配上了,就是回文串
我们使用下标 来依次对比对折后的两侧。如果发现两侧中某个位置不能互相匹配,立即输出no
并return 0
。
如果没有成功return 0
,即没有找到不匹配的地方,那么这个字符串就是回文串,输出yes
。
完整代码
#include <bits/stdc++.h> //建议选择万能头文件,避免写程序前打很多头文件
using namespace std;
int main()
{
string s;//定义string类(字符串)
cin>>s;
for(int i=0,j=s.length()-1;i<=s.length()/2;i++,j--){
if(s[i]!=s[j]){
cout<<"no"<<endl;
return 0;
}
}//判断回文的循环
cout<<"yes"<<endl;
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!