LeetCode | Reverse Linked List II
2014-03-04 23:23
381 查看
题目
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example:
Given
4,
return
Note:
Given m, n satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.
分析
这题就是细心了,由于题目保证了m、n的取值范围,代码里可以减少很多判断。
此外,为了代码简洁,可以在链表头部加个哨兵。
代码
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.
分析
这题就是细心了,由于题目保证了m、n的取值范围,代码里可以减少很多判断。
此外,为了代码简洁,可以在链表头部加个哨兵。
代码
public class ReverseLinkedListII { public ListNode reverseBetween(ListNode head, int m, int n) { ListNode dummy = new ListNode(0); dummy.next = head; ListNode p = dummy; for (int i = 0; i < m - 1; ++i) { p = p.next; } ListNode q = p.next; for (int i = 0; i < n - m; ++i) { ListNode temp = p.next; p.next = q.next; q.next = q.next.next; p.next.next = temp; } return dummy.next; } }
相关文章推荐
- 92、Reverse Linked List II [Leetcode]
- leetCode 92.Reverse Linked List II (反转链表II) 解题思路和方法
- Reverse Linked List II leetcode
- LeetCode92 Reverse Linked List II 解题报告
- [leetcode] 92.Reverse Linked List II
- leetcode:92. Reverse Linked List II(Java)解答
- [LeetCode]Reverse Linked List II
- leetcode - Reverse Linked List II
- [leetcode] 【链表】92. Reverse Linked List II
- [leetcode] Reverse Linked List II
- leetcode 092 —— Reverse Linked List II
- leetcode - Reverse Linked List II
- [LeetCode] Reverse Linked List II 解题报告
- [LeetCode] Reverse Linked List II Solution
- [LeetCode] Reverse Linked List II
- Reverse Linked List II -- leetcode
- leetcode-Reverse Linked List II
- [leetcode] 92. Reverse Linked List II
- [leetcode] Reverse Linked List II
- [LeetCode]Reverse Linked List II