面试中常见问题之单链表逆置

2014-11-24 10:52:22 · 作者: · 浏览: 5
很多大公司在面试时,喜欢让面试者在纸上写出代码,比较常见的一个问题就是链表逆置
先将代码写在下面拱参考:
[cpp]
void Reverse(node *head)
{

node *p,*q,*r;
p=head->next;
if(p==NULL||p->next==NULL)
{
//说明没有元素或者仅有一个元素,不用逆置
return;
}

q=p->next;

while(q)
{

r=q->next;
p->next=r;//将q删除

//然后将q插入到第一个节点
q->next=head->next;
head->next=q;

q=r;
}
}