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");
}