题目描述:
判断单链表的全部n个字符是否中心对称
算法思想:
核心代码:
bool duichen(LNode* &L,int n)
{
SqStack S;
InitStack(S);
LNode* p=L->next;
int i;//如果下面要用到j=i+1,i就不能写在for(int i=0)中
for(i=0;i<n/2;i++)
{
Push(S,p->data);
p=p->next;
}
//这里忽略了一点是n为奇数的情况
if(n%2==1)
p=p->next;//直接跳过中间结点
// for(int j=i+1;j<n;j++)
// {
// int k;
// Pop(S,k);
// if(k==p->data)
// p=p->next;
// else
// return false;
// }
while(p!=NULL)
{
int k;
Pop(S,k);
if(k==p->data)
p=p->next;
else
return false;
}
return true;
}