回文判断:
假设称正读和反读都相同的字符序列为“回文”,例如,'abba’和’abcba’是回文,‘abcde’和’ababab’则不是回文。试写一个程序判别读入的一个以’#'为结束符的字符序列是否是“回文”。
#include <iostream>
#include <cstdio>
#include <string>
#include <stack>
using namespace std;
int main()
{
stack<char> s;
string a,b;
int i,j=0,f=1;
cin>>a;
for(i=0;a[i]!='#';i++) //将字符串放入栈中
s.push(a[i]);
while(!s.empty())
{
if(s.top()!=a[j++]) //不是回文数,标记为0
f=0;
s.pop(); //出栈
}
if(f)
cout<<"ok";
else
cout<<"no";
return 0;
}
结果: