所有代码均通过G++编译器测试,仅为练手纪录。
//面试题16:反转链表
//题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。
//面试题16:反转链表
//题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。
ListNode *ListReverse(ListNode *pHead)
{
if (NULL == pHead || NULL == pHead->m_pNext)
{
return pHead;
}
ListNode *pCurNode = pHead;
ListNode *pReverseHead = NULL;
while(NULL != pCurNode)
{
ListNode *pNextNode = pCurNode->m_pNext;
pCurNode->m_pNext = pReverseHead;
pReverseHead = pCurNode;
pCurNode = pNextNode;
}
return pReverseHead;
}
ZhaiPillary
2016-12-25