2006-d-二
#include<stdio.h>
#define maxSize 100
void Palindrome(LNode *h,int n)
{
char stack[maxSize],top=-1;//定义栈
char queue[maxSize],front=0,rear=0;//定义队列
char a,b;
int i,count=0;
LNode *p=h;
for(i=0;i<n;i++)//前n个字母分别入栈入队
{
stack[++top]=p->data;
queue[rear++]=p->data;
p=p->next;
}
for(i=0;i<n;i++)
{
a=stack[top--];//出栈
b=queue[front++];//出队
if(a!=b) break;
else count++;
}
if(count!=n) printf("非回文\n");
else printf("回文\n");
}