回文串是指一个正读和反读都相同的字符串
因此可以使用栈来模拟正读和反读
正读时压栈,反读时弹栈,如果不相等直接输出NO
最后遍历完毕后输出YES
用了STL的stack没自己写。。。
#include<stack>
#include<iostream>
using namespace std;
int main()
{
char s[100];
cin.getline(s,100);
stack<char> tems;
int n=0;
for(;s[n]!='\0';n++)
{
tems.push(s[n]);
}
n--;
for(int i=0;i<=n;i++)
{
if(tems.top()!=s[i]){
cout<<"NO"<<endl;
return 0;
}
else{
tems.pop();
}
}
cout<<"YES"<<endl;
}