反转链表(在原链表进行操作,不开辟新空间. O(N)
Posted ssopp24
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反转链表(在原链表进行操作,不开辟新空间. O(N)相关的知识,希望对你有一定的参考价值。
//定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
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)的主要内容,如果未能解决你的问题,请参考以下文章