7-129 判断回文
分数 20
回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个程序判定给定的字符向量是否为回文,用栈实现。(提示:将一半字符入栈)
输入格式:
输入任意字符串。
输出格式:
若字符串是回文,输出:xxxx是回文。
若字符串不是回文,输出:xxxx不是回文。
输入样例:
abba
输出样例:
abba是回文。
输入样例:
abdba
输出样例:
abdba是回文。
输入样例:
good
输出样例:
good不是回文。
代码如下:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
stack<char> sta;
string s;
getline(cin,s);
int len = s.size();
bool flag = 0;
for (int i = 0, j = len - 1; i <= j; i++, j--)
{
if (s[i] != s[j])
{
flag = 1;
break;
}
}
if (flag)
{
cout << s << "不是回文。";
}
else
{
cout << s << "是回文。";
}
return 0;
}