[剑指Offer] 15.反转链表
2017-11-20 11:22
411 查看
题目描述
【思路2】头插法
输入一个链表,反转链表后,输出链表的所有元素。
【思路1】三个指针在链表上同时滑动。1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 val(x), next(NULL) { 7 } 8 };*/ 9 class Solution { 10 public: 11 ListNode* ReverseList(ListNode* pHead) { 12 ListNode* p = pHead; 13 ListNode* q = NULL; 14 ListNode* r = NULL; 15 while(p != NULL){ 16 r = p->next; 17 p->next = q; 18 q = p; 19 p = r; 20 } 21 return q; 22 } 23 };
【思路2】头插法
1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 val(x), next(NULL) { 7 } 8 };*/ 9 class Solution { 10 public: 11 ListNode* ReverseList(ListNode* pHead) { 12 ListNode* p = pHead; 13 ListNode* q = NULL; 14 while(p != NULL) { 15 ListNode* temp = p->next; 16 p->next = q; 17 q = p; 18 p = temp; 19 } 20 return q; 21 } 22 };
相关文章推荐
- 【剑指offer-解题系列(15)】反转链表
- 剑指Offer--15.反转链表
- 剑指Offer面试题:15.反转链表
- (C++)剑指offer-15:反转链表(代码的鲁棒性)
- 【剑指offer】15反转链表
- 牛客网-剑指offer-15-反转链表
- 剑指offer 15-反转链表
- 剑指Offer_15_反转链表
- 剑指offer_15_反转链表
- 【剑指offer】反转链表
- 剑指offer--面试题16: 反转链表
- 剑指Offer15 合并两个已排序链表
- 【剑指offer】十,反转链表
- 剑指offer-反转链表
- 剑指Offer----面试题15:链表中倒数第K个结点
- 剑指offer——反转链表
- 【剑指offer】题16:反转链表
- 剑指offer—反转链表
- 【剑指offer-Java版】16反转链表
- 【剑指offer】面试题16:反转链表