[leetcode] Reverse Linked List II
2014-08-11 23:52
357 查看
Reverse Linked
List II
指针倒向法
List II
指针倒向法
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode *reverseBetween(ListNode *head, int m, int n) { if(head==nullptr){ return nullptr; } ListNode *before,*start,*end,*after; before=after=start=end=nullptr;//初始化 ListNode *ptr=head; for(int i=1;i<m;++i){ before=ptr; ptr=ptr->next; }//ptr指向第m个元素,before指向第m-1个元素(从1开始计数) start=end=ptr; //ptr=ptr->next; for(int i=m;i<=n;++i){ after=ptr->next; ptr->next=end; end=ptr; ptr=after; } if(before==nullptr){//m=1时 head=end; }else{ before->next=end; } start->next=after; return head; } };
相关文章推荐
- leetcode 41: Reverse Linked List II
- leetcode 76: Reverse Linked List II
- [leetcode] Reverse Linked List II
- LeetCode_Reverse Linked List II
- LeetCode-Reverse Linked List II
- leetcode 41: Reverse Linked List II
- LeetCode:Reverse Linked List II
- LeetCode Online Judge 题目C# 练习 - Reverse Linked List II
- leetcode -- Reverse Linked List II
- [Leetcode]Reverse Linked List II
- [LeetCode] Reverse Linked List II
- [LeetCode] Reverse Linked List II 解题报告
- [Leetcode] Reverse Linked List II
- leetcode--Reverse Linked List II
- [LeetCode]Reverse Linked List II
- leetcode 76: Reverse Linked List II
- LeetCode —— Reverse Linked List II
- [leetcode]Reverse Linked List II
- [LeetCode] Reverse Linked List II
- LeetCode: Reverse Linked List II