链表笔试题汇编(三)

题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。

参考代码:

void ReverseList(pList *pHead)
{
	pLinkList cur=*pHead;
	pLinkList prev=NULL;
	pLinkList pNewHead=NULL;
	assert(pHead);
	if(cur==NULL)
	{
		return;
	}
	if(cur->next==NULL)
	{
		return;
	}
	while(cur)
	{
		prev=cur;
		cur=cur->next;
		prev->next=pNewHead;
		pNewHead=prev;
	}
	*pHead=pNewHead;
}


你可能感兴趣的:(链表,笔试题,反转)