c++判断字符串是否是回文
时间: 2024-11-11 13:06:23 浏览: 12
C++实现判断字符串是否回文实例解析
在C++中,判断一个字符串是否是回文(即正读反读都一样的字符串),一种常见的方法是通过双指针技术,从两端向中间遍历,比较对应位置的字符是否相等。下面是一个简单的示例:
```cpp
#include <iostream>
#include <string>
bool isPalindrome(const std::string& str) {
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str[left] != str[right]) {
return false; // 如果找到不匹配的字符,直接返回false
}
left++; // 左指针向右移动一位
right--; // 右指针向左移动一位
}
return true; // 没有发现不匹配,说明是回文
}
int main() {
std::string test_strs[] = {"level", "madam", "hello"};
for (const auto& str : test_strs) {
if (isPalindrome(str)) {
std::cout << str << " 是回文\n";
} else {
std::cout << str << " 不是回文\n";
}
}
return 0;
}
```
在这个例子中,`isPalindrome` 函数会检查输入的字符串,如果所有的字符都一一对应相等,则返回 `true`,否则返回 `false`。
阅读全文