【leetcode】Reverse Linked List II
2015-05-19 15:49
267 查看
Reverse Linked List II
Reverse a linked list from position m to n. Do it in-place and in one-pass.For example:
Given 1->2->3->4->5->NULL, m = 2 and n = 4,
return 1->4->3->2->5->NULL.
Note:
Given m, n satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
思路:
找到n和m两个点,然后再一对对地交换其val.
class Solution { public: ListNode* reverseBetween(ListNode* head, int m, int n) { ListNode *p,*q,*re,*ne; p=head; for(int i=1;i<m;i++) //注意从1开始,因为之前已经指向了head,少了一个点。 { p=p->next; } for(int i=m;i<n;i++) { q=p; for(int j=i;j<n;j++) q=q->next; swap(p->val,q->val); n--; p=p->next; } return head; } };
相关文章推荐
- Leetcode_reverse-linked-list-ii
- [Leetcode] Reverse Linked List II (Java)
- 【Leetcode】之Reverse Linked List II
- [LeetCode] Reverse Linked List II @ Python [提供自创的示意图 Figure illustration]
- [Leetcode] 92. Reverse Linked List II
- LeetCode 92. Reverse Linked List II ***** 虚拟头结点
- LeetCode Reverse Linked List II
- leetcode 91. Reverse Linked List II
- leetcode - 92.Reverse Linked List II
- 【Leetcode】92. Reverse Linked List II && 206. Reverse Linked List
- 【C++】【LeetCode】92. Reverse Linked List II
- LeetCode --- 92. Reverse Linked List II
- Leetcode 92. Reverse Linked List II
- leetcode之92. Reverse Linked List II(C++读错题版本,交换一个链表中指定的两个位置上的元素)
- [LeetCode-92] Reverse Linked List II(反转指定区间链表)
- LeetCode92 Reverse Linked List II
- 开始刷leetcode day18:Reverse Linked List II
- LeetCode:Reverse Linked List II 解法
- LeetCode Reverse Linked List II
- LeetCode: Reverse Linked List II