您的位置:首页 > 职场人生

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

2017-06-22 11:53 232 查看
反转链表,因为是单向链表,所以要调整指针指向的方向

还有在逆向的时候,反转后容易找不到原先的指向,所以要定义一个指针把原先的保存下来

代码实现:

#include<stdio.h>
#include<stdlib.h>
struct ListNode
{
int _key;
ListNode* _next;
};

ListNode* ReverseList(ListNode* pHead)
{
ListNode* pReversedHead = NULL;
ListNode* pNode = pHead;
ListNode* pPrev = NULL;
while (pNode != NULL)
{
ListNode* pNext = pNode->_next;
if (pNext == NULL)
{
pReversedHead = pHead;
}
pNext->_next = pPrev;
pPrev = pNode;
pNode = pNext;
}
return pReversedHead;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息