【面试题】剑指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;
}
还有在逆向的时候,反转后容易找不到原先的指向,所以要定义一个指针把原先的保存下来
代码实现:
#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;
}
相关文章推荐
- 剑指offer面试题16——反转链表
- 【剑指offer】面试题16:反转链表
- OK 面试题24 反转链表
- 面试题14:反转链表
- 【面试题】-单链表反转
- 面试题 16:反转链表
- 面试题16:反转链表
- 剑指offer之面试题16 :反转链表
- 经典面试题:反转链表
- 剑指offer16 反转链表
- 剑指offer——面试题16:反转链表
- 《剑指Offer》面试题:反转链表
- bat面试题 python 单链表反转排序
- 剑指offer-chapter3-面试题16-反转链表(java)
- 面试题16 反转链表
- 剑指offer面试题16-反转链表
- 剑指offer 面试题16:反转链表(Leetcode 206: Reverse Linked List) 题解
- 面试题16:反转链表
- 面试题:反转链表
- 《剑指offer》面试题16—反转链表