使用C++STL判断回文
#include<iostream>
#include<string>
#include<cmath>
#include<algorithm>
#include<queue>
#include<stack>
using namespace std;
stack<char> s;
int main(){
string str;
cin>>str;
int mid;
int flag=0;
mid=str.length()/2-1;
for(int i=0;i<=mid;i++)
{
s.push(str[i]);
}
if(str.length()%2==0)
{
for(int i=mid+1;i<str.length();i++)
{
if(s.top()==str[i])
{
s.pop();
}
else {
flag=1;
break;
}
}
}
else if(str.length()%2==1)
{
for(int i=mid+2;i<str.length();i++)
{
if(s.top()==str[i])
{
s.pop();
}
else {
flag=1;
break;
}
}
}
if(flag)
{
cout<<"不是回文"<<endl;
}
else cout<<"回文"<<endl;
return 0;
}