用C++编写一个算法实现判断一个字符串是否是回文字符串
时间: 2024-11-12 15:43:49 浏览: 29
在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; // 如果有不相等的字符,则不是回文
}
left++; // 左指针向右移动一位
right--; // 右指针向左移动一位
}
return true; // 没有发现不相等的字符,说明是回文
}
int main() {
std::string test_str = "madam";
if (isPalindrome(test_str)) {
std::cout << test_str << " is a palindrome.\n";
} else {
std::cout << test_str << " is not a palindrome.\n";
}
return 0;
}
```
在这个程序中,`isPalindrome` 函数接收一个字符串 `str` 作为输入,如果它是回文则返回 `true`,否则返回 `false`。
阅读全文