求数据结构高手给解道题!如下:

来源:百度知道 编辑:UC知道 时间:2024/06/25 01:30:45
设单链表中存放着n个字符,试编写算法,判断该字符串是否有中心对称关系。例如:xyzzyx,xyzyx都算是中心对称的字符串。(提示:将一半字符先依次进栈)用C语言编写!!
谢谢高手们给予解答!!

#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#define maxsize 100
int i=0;
typedef struct node
{
char data;
struct node *next;
}Linklist;
Linklist *InitStack(char S[])
{
Linklist *head,*H,*p;
while(S[i]!=NULL)
{
p=(Linklist*)malloc(sizeof(Linklist));
p->data=S[i];
p->next=NULL;
if(i==0)
head=H=p;
else
{
H->next=p;
H=p;
}
i++;
}
return head;
}
//
int duichen(Linklist *H)
{
char S[maxsize];
int top=0,j=0;
Linklist *p=H;
while(j<(i/2))
{
p=p->next;j++;}
while (p!=NULL)
{
S[top]=p->data;
top++;
p=p->next;
}
p=H;
while(p!=NULL)
{
top--;
if(p->data==S[top])
p=p->next;
else b