1776 判断字符串回文 描述 输入一个字符串,判断是不是回文字符串 输入 字符串,其中没有空格,字符串的最大长度20个字符 输出 YES或NO,如果是回文字符串就输出YES,否则输出NO 输入样例 1 abcabcabcabc 输出样例 1 NO 来源
时间: 2024-12-06 11:33:06 浏览: 60
要判断一个字符串是否为回文,我们需要比较字符串从前往后读和从后往前读是否相同。这里是一个简单的C++程序,用于实现这个功能:
```cpp
#include <iostream>
#include <string>
bool isPalindrome(const std::string& str) {
int start = 0;
int end = str.length() - 1;
while (start < end) {
if (str[start] != str[end]) {
return false; // 如果任意一对字符不相等,说明不是回文
}
start++;
end--;
}
return true; // 遍历结束且所有字符都匹配,说明是回文
}
int main() {
std::string input;
std::cout << "请输入字符串(最大长度20):";
std::cin >> input;
if (input.length() <= 20) {
if (isPalindrome(input)) {
std::cout << "YES" << std::endl;
} else {
std::cout << "NO" << std::endl;
}
} else {
std::cout << "错误:字符串超过了最大长度20" << std::endl;
}
return 0;
}
```
这个程序首先检查输入的字符串长度是否在20个字符以内。然后使用两个指针`start`和`end`,开始时分别指向字符串的首尾,每次循环它们都会向中间移动并检查对应位置的字符是否相等。如果任何时候发现不相等,立即返回`false`;当所有字符都检查过且相等时,返回`true`。
阅读全文
相关推荐


















