Loading... 对于回文串,我们可以理解为整个字符串以中间的字符变量为标准成左右对称。 所以我们面临几个问题 1. 如何存储字符串变量。 2. 如何获得字符串变量的中间变量的位置,只要找到了位置,也就找到了它。 3. 如何判断字符串是否左右对称,可以被称为回文串。 我们来逐一解决 1. 可以用字符串变量string,也可以用字符串数组来存储 2. 用相应的函数去获得字符串的长度,如何再进行处理获得中间的变量 3. 通过循环结构和判断结构的嵌套来判断字符串是否为回文串 问题解决了,接下来就是代码 ```c++ #include <iostream> #include <cstring> #include <algorithm> using namespace std; int len; //字符串长度 string s; //字符串变量 int main() { cin >> s;//读取字符串 len = s.size(); //获取字符串长度 int mid = len >> 1; //获得中间变量 int i = mid, j = mid; //以中间变量出发往两边走,判断是否符合左右对称 if(len % 2 == 0) i --; //奇偶特判一下,防止出现错误 while (i >= 0 && j < len) //遍历字符串,判断是否符合左右对称 { if(s[i] != s[j]) //不符合条件 { cout << "No" ; return 0; //直接结束即可 } //更新判断位置 i -- ; j ++ ; } cout << "Yes" ; //否则符合条件 return 0; } ``` 最后修改:2024 年 08 月 08 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏