利用栈和队列的特性设计一个算法,用于判断一个字符串是否为回文。
测试用例1`
abcdefg↵
期待输出1
不是回文↵
#include <iostream>
#include <stack>
#include <queue>
#include <string>
using namespace std;
int main()
{
string str;
getline(cin, str);
queue<char> q;
stack<char> st;
for (int i = 0; i < str.length(); i++)
{
q.push(str[i]);
st.push(str[i]);
}
for (int i = 0; i < str.length(); i++)
{
if (q.front() != st.top())
{
cout << "不是回文" << endl;
return 0;
}
else
{
q.pop();
st.pop();
}
}
cout << "是回文" << endl;
return 0;
}