1、回文串。回文串是指一个正读和反读都一样的字符串,例如level、noon等都是回文串。判断输入的字符串是否为回文串,如果是输出yes,如果不是输出no。
时间: 2024-03-25 21:41:40 浏览: 60
求回文子串_O(n)_manacher算法
好的,这是一个字符串处理的问题,可以使用双指针或者栈来实现。以下是使用双指针的代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
bool isPalindrome(string s) {
int left = 0, right = s.size() - 1; // 定义左右指针
while (left < right) { // 当左指针小于右指针时
if (s[left] != s[right]) { // 如果左右指针所指字符不相等
return false; // 不是回文串,返回false
}
left++; // 左指针右移
right--; // 右指针左移
}
return true; // 是回文串,返回true
}
int main() {
string s;
cout << "请输入一个字符串:" << endl;
cin >> s;
if (isPalindrome(s)) {
cout << "yes" << endl;
} else {
cout << "no" << endl;
}
return 0;
}
```
运行该程序,会要求用户输入一个字符串,然后调用isPalindrome函数进行回文串判断,如果是回文串则输出yes,否则输出no。
isPalindrome函数中使用双指针从字符串的两端开始向中间移动,如果左右指针所指字符不相等,则不是回文串,返回false,否则继续移动指针直到左指针大于等于右指针,此时为回文串,返回true。
阅读全文