【面试题】剑指Offer-16-反转链表

来源:互联网 发布:轩辕传奇神器数据图 编辑:程序博客网 时间:2024/06/06 03:10

题目概述


解决思路

定义指针【pCur和【pPrev

并定义【pReverseHead来保存返回后的头结点

当【pCur不为空的时候,进行循环

先求出pCur的下一个节点【pNext节点,并判断其是否为空(判断【pCur是否为最后一个节点)

如果是,则需要对【pReverseHead进行赋值

否则,将【pCur的下一个节点的指针指向【pPrev

并将【pPrev和【pCur进行后移,进行下一次循环

代码实现

Node* ReverseList(Node* pHead){Node* pPrev = NULL;Node* pCur = pHead;Node* pReverseHead = NULL;while (pCur != NULL){Node* pNext = pCur->_next;if (pNext == NULL)pReverseHead = pCur;pCur->_next = pPrev;pPrev = pCur;pCur = pNext;}return pReverseHead;}


1 0
原创粉丝点击