#include <iostream>#include <queue>#include <string>using namespace std;bool isPalindrome(string str) { queue<char> q; for (int i = 0; i < str.length(); i++) { q.push(str[i]); } while (q.size() > 1) { char front = q.front(); char back = q.back(); if (front != back) { return false; } q.pop(); q.pop(); } return true;}int main() { string str; cout << "请输入一个字符串:"; cin >> str; if (isPalindrome(str)) { cout << str << " 是回文字符串" << endl; } else { cout << str << " 不是回文字符串" << endl; } return 0;}
时间: 2024-01-04 17:04:28 浏览: 65
使用include <iostream>时一定要加using namespace std
这是一个 C++ 代码,用于判断输入的字符串是否为回文字符串。它的实现思路是将字符串中的每个字符存储到一个队列中,然后从队列的两端开始比较字符是否相等。如果不相等,则该字符串不是回文字符串。如果队列中只剩下一个字符或者没有字符了,则该字符串是回文字符串。
具体实现细节如下:
1. 定义一个函数 isPalindrome(string str),用于判断输入的字符串是否为回文字符串。
2. 定义一个队列 q,用于存储字符串中的每个字符。
3. 将字符串中的每个字符存储到队列 q 中。
4. 从队列的两端开始比较字符是否相等。如果不相等,则该字符串不是回文字符串。如果队列中只剩下一个字符或者没有字符了,则该字符串是回文字符串。
5. 返回判断结果。
代码中的主函数 main() 用于获取用户输入的字符串,并调用 isPalindrome() 函数进行判断,最终输出结果。
注意,这段代码只能判断纯英文字符串是否为回文字符串,对于包含中文或其他非英文字符的字符串,需要进行适当修改。
阅读全文