您的位置:首页 > 其它

用栈的思想来判断一个字符串是否是回文数

2016-11-13 16:40 344 查看
用栈的思想来判断一个字符串是否是回文数,如果是输出“yes”,,否则输出“no”。

这里其实就是,先将字符串的一半入栈,并计算它的长度(字符串一半的长度),然后将这两部分为字符串逐一比较

#include <stdio.h>
#include<string.h>
#include <stdlib.h>
typedef struct Stack
{
int top;
char str[100];
}Sqstack;
int main()
{
int len,i,mid,next;
char str[100];
Sqstack s;
s.top=0;
gets(str);
len=strlen(str);
mid=len/2;
for(i=0;i<mid;i++)
{
s.str[s.top]=str[i];
s.top++;
}
if(len%2!=0)
next=mid+1;
else
next=mid;
while(s.top!=0)
{
if(s.str[s.top-1]==str[next])
{
s.top--;
next++;
}
else  break;
}
if(s.top==0)   printf("yes\n");
else    printf("no\n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: