C/C++算法入门 | 字符串处理
不爱生姜不吃醋⭐️
如果本文有什么错误的话欢迎在评论区中指正
与其明天开始,不如现在行动!
?前言
字符串处理题在考试中十分常见,也是能很好体现代码能力的一种题型。对于这种题型,一般需要仔细分析清楚题目的输入输出格式才能顺利解决题目。在有些题目中,可能实现逻辑会非常麻烦,而且可能会有很多细节和边界情况。因此对代码能力较弱的考生是不利的。此类题目需要多做多想,积累经验。
?回文串
1.题目(codeup 5901)
题目描述
读入一串字符,判断是否是“回文串”。“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”就是回文串
输入格式
一行字符串,长度不超过255
输出格式
如果是“回文串”,输出"YES",否则输出"NO"
输入样例
12321
输出样例
YES
2.思路
- 遍历字符串的前一半
- 用前一半和后一半对比
- 只要有一个位置不对,那就不是“回文串”
- 遍历结束输出结果
3.代码实现
#include <cstdio>
#include <cstring>
bool judge(int x, int y, char c[]){
for (int i = x; i >= 0; i--)
{
if(c[x] != c[y]) return false;
x--;
y++;
}
return true;
}
int main() {
char c[255];
scanf("%s", c);
int x = strlen(c) / 2 - 1;
int y = strlen(c) - x - 1;
if(judge(x, y, c)) printf("YES");
else printf("NO");
return 0;
}
?总结
文章中代码的编写使用的都是C/C++基础知识,多加练习熟能生巧。
本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家?!!!