比如像dxd,好人好等这种就是回文字符串,xhxh就不是。
#include<bits/stdc++.h>
using namespace std;
int main(){
char a[101],s[101];
int i,len,mid,next,top;
gets(a);//读入一行字符串。
len=strlen(a);//求字符串长度。
mid=len/2-1;//求字符串中点。
top=0;//栈的初始化
for(i=0;i<=mid;i++)//将mid前的字符依次入栈
s[++top]=a[i];
//判断字符串是奇数还是偶数,找出需要进行字符匹配的起始下标
if(len%2==0)
next=mid+1;
else
next=mid+2;
//开始匹配
for(i=next;i<=len-1;i++){
if(a[i]!=s[top]){
break;
}
top--;
}
//如果top为0,说明栈所以的字符都被一一匹配。
if(top==0)
cout<<"YES";
else
cout<<"NO";
return 0;
}