高效代码之反转单链表

单链表的反转是经常用到的

那么单链表的高效转换就很重要了。这里记录一下。方便用时查阅。

structListNode{intm_nValue;ListNode*m_pNext;};//实现如下://反转链表需要3个指针//1.指向当前元素pNode//2.指向当前元素的前一个元素pPrev//3.指向当前元素的后一个元素pNextListNode*ReverseList(ListNode*pHead){ListNode*pReverseHead=NULL;ListNode*pNode=pHead;ListNode*pPrev=NULL;while(pNode!=NULL){ListNode*pNext=pNode->m_pNext;if(pNext==NULL){pReverseHead=pNode;}pNode->m_pNext=pPrev;pPrev=pNode;pNode=pNext;}returnpReverseHead;}

参考自:剑指offer


2016-09-01 19:46:53