题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。
要点:边界测试
代码:
#include "linklist.h"
pnode rvslist(pnode head)
{
pnode rhead=NULL;
pnode node=head;
pnode pre=NULL;
while(node!=NULL)
{
pnode next=node->next;
if(next==NULL) rhead=node;
node->next=pre;
pre=node;
node=next;
}
return rhead;
}
int main()
{
crtlist();
prtlist();
pnode rhead=rvslist(head);
prtlist(rhead);
return 0;
}
引用:剑指Offer(何海涛著)