//定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
ListNode* ReverseList(ListNode* pHead)
{
if ( NULL == pHead || NULL == pHead->next )//链表为空和链表只有一个结点在这个语句进行处理
return pHead;
ListNode* pPrev = NULL;
ListNode* pCur = pHead;
ListNode* pNext = pHead->next;
while ( NULL != pNext ){
pNext = pCur->next;
pCur->next = pPrev;
pPrev = pCur;
pCur = pNext;
}
return pPrev;
}
反转链表(在原链表进行操作,不开辟新空间. O(N)
链表反转算法
本文介绍了一种链表反转的方法,通过定义一个函数实现输入链表头节点,返回反转后的链表头节点。此方法适用于空链表和仅有一个节点的情况,并通过迭代方式完成链表的反转。

被折叠的 条评论
为什么被折叠?



