设计思想:栈具有先进后出的特性,将字符串str的一半长度字符入栈,再让其依次出栈,对比出栈序列字符是否与剩下一半长度字符依次相等。需要注意字符个数,分奇数偶数。
bool ishuiwen(string str){
int s[100];
int top=-1,mid=str.length()/2-1;
//入栈;
for(int i=0;i<=mid;++i){
top++;
s[top] = str[i];
}
int next;
if(str.length()%2==0) next=mid+1;
if(str.length()%2==1) next=mid+2;
//出栈,依次比较;
for(int i=next;i<str.length();++i){
if(str[i]!=s[top--]) break;
}
if(top==-1) return true;
else return false;
}