c++ 回文字符串判断
时间: 2024-12-22 14:18:11 浏览: 3
回文字符串
在 C++ 中,判断一个字符串是否为回文(Palindrome),即正读和反读都一样的字符串,有多种常见的方法。这里简单介绍一种基本方法:
1. **双指针法**:
使用两个指针,一个从字符串头开始(`i = 0`),另一个从字符串尾开始(`j = string.length() - 1`)。逐次比较这两个指针对应的字符,如果相等则继续向中间移动,如果不相等则说明不是回文,结束比较。
```cpp
bool isPalindrome(string str) {
int i = 0, j = str.size() - 1;
while (i < j) {
if (str[i] != str[j]) {
return false;
}
i++;
j--;
}
return true;
}
```
2. **利用反转比较**:
另外还可以先将字符串反转,然后跟原字符串做比较。如果两者相等,则是回文。
```cpp
bool isPalindrome(string str) {
string reversed = str;
reverse(reversed.begin(), reversed.end());
return str == reversed;
}
```
阅读全文