【数据结构-栈】借助栈实现回文的判断
最近在学习栈,尝试用C实现了一些功能。
#include<stdio.h>
#include<stdlib.h>
typedef struct app{
char date;
struct app *next;
}app;
app *ruzhan(app *top,char x){
app *p;
p=(app*)malloc(sizeof(app));
p->date=x;
p->next=top;
top=p;
return(p);
}
app *chuzhan(app *top,int *q){
app *p;
p=top;
*q=top->date;
top=top->next;
free(p);
return(top);
}
int main(){
app *top=NULL;
char a[20];
int x;
scanf("%s",&a);
for(int i=0;a[i]!=NULL;i++){
top=ruzhan(top,a[i]);
}
for(int i=0;a[i]!=NULL;i++){
top=chuzhan(top,&x);
if(a[i]!=x){
printf("NO");
return 0;
}
}
printf("YES");
}
当输入回文数时,返回YES。否则返回NO。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)