之前去面试的时候,面试官问怎么实现链表的逆置,那会时间比较短没有想出来,最后请教了面试官,他说要定义三个指针变量才可以实现,但是后来我想想,定义两个指针变量就可以实现了,主要是要会使用链表的头插法,话不多说,放代码。
void Reverse(LNode *&L){
//头插法
LNode *p,*q;
p=L->next;
L->next=NULL;
while(p!=NULL){
q=p->next;
p->next=L->next;
L->next=p;
p=q;
}
}