typedef struct node
{
char data;
struct node *next;
}cnode;
cnode *create()
{
cout<<"创建一个单链表"<<endl;
cnode *head,*p,*s;
p=(cnode *)malloc(sizeof(cnode));
head=p;
s=p;
s->next=NULL;
char n;
while(cin>>n &&n!='w')
{
p=(cnode *)malloc(sizeof(cnode));
p->data=n;
s->next=p;
s=s->next;
s->next=NULL;
}
return head;
}
int judge(cnode *head)
{
cnode *p;
char st[MaxLen];
int top=0;
p=head->next;
if(p==NULL || p->next==NULL)
return 1;
while(p!=NULL)
{
st[++top]=p->data;
p=p->next;
}
p=head->next;
while(top>0)
{
if(p->data==st[top--])
p=p->next;
else
return 0;
}
if(p==NULL && top==0)
return 1;
}
void main()
{
cnode *p;
p=create();
if(judge(p)==1)
cout<<"对称"<<endl;
else
cout<<"不对称"<<endl;
}
原来栈的思想不一定要说明了是栈,只要用到相关的想法就好了,恩恩,有所收获,不错不错,继续努力