C/C++算法入门 | 字符串处理

不爱生姜不吃醋⭐️

如果本文有什么错误的话欢迎在评论区中指正

与其明天开始,不如现在行动!

文章目录


🌴前言

字符串处理题在考试中十分常见,也是能很好体现代码能力的一种题型。对于这种题型,一般需要仔细分析清楚题目的输入输出格式才能顺利解决题目。在有些题目中,可能实现逻辑会非常麻烦,而且可能会有很多细节和边界情况。因此对代码能力较弱的考生是不利的。此类题目需要多做多想,积累经验。


🌴回文串

1.题目(codeup 5901)

题目描述

读入一串字符,判断是否是"回文串"。"回文串"是一个正读和反读都一样的字符串,比如"level"或者"noon"就是回文串

输入格式

一行字符串,长度不超过255

输出格式

如果是"回文串",输出"YES",否则输出"NO"

输入样例

12321

输出样例

YES

2.思路

  1. 遍历字符串的前一半
  2. 用前一半和后一半对比
  3. 只要有一个位置不对,那就不是"回文串"
  4. 遍历结束输出结果

3.代码实现

c 复制代码
#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++基础知识,多加练习熟能生巧。

本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家😘!!!


相关推荐
weixin_424183612 小时前
开放—封闭原则实战(下):基于策略的流程编排与编译期多态
c++·分布式·系统架构
Logic1012 小时前
C语言/数据结构位运算题解:异或XOR找出学习计划中的“独特学习时间“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
wuminyu3 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
小蒋学算法3 小时前
算法-交替删除操作后最后剩下的整数-跟着灵茶山艾府学算法
数据结构·算法
m0_380743873 小时前
C++中的freopen的用法实例详解
开发语言·c++
荆棘鸟智能3 小时前
林业遥感长势评估怎么做?从NDVI时序分析到LiDAR蓄积量回归
人工智能·算法·智慧林业
jimy14 小时前
polymorph.cpp里面的“析构函数、智能指针”问题
开发语言·c++
hhb_6184 小时前
AIRAGDebug:一键定位RAG链路异常
人工智能·python·算法
朝朝辞暮i4 小时前
C++ 第 6 课:switch —— 多状态选择
开发语言·c++·算法
朝朝辞暮i5 小时前
C++ 第 4 课:if / else —— 让程序自己做决定
开发语言·c++