【LeetCode】C# 92、Reverse Linked List II
2017-10-17 16:25
441 查看
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.
给定链表和两个数值,将链表中对应两个位置的那段链表反转。
思路:建立4个指针。dummy指向head,pre指向第一个要翻转的节点,然后start指向下一个操作要翻转到前面的节点。then指向start.next,用来辅助翻转。
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.
给定链表和两个数值,将链表中对应两个位置的那段链表反转。
思路:建立4个指针。dummy指向head,pre指向第一个要翻转的节点,然后start指向下一个操作要翻转到前面的节点。then指向start.next,用来辅助翻转。
/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { val = x; } * } */ public class Solution { public ListNode ReverseBetween(ListNode head, int m, int n) { if(head == null) return null; ListNode dummy = new ListNode(0); dummy.next = head; ListNode pre = dummy; for(int i = 0; i<m-1; i++) pre = pre.next; ListNode start = pre.next; ListNode then = start.next; for(int i=0; i<n-m; i++) { start.next = then.next; then.next = pre.next; pre.next = then; then = start.next; } return dummy.next; } }
相关文章推荐
- leetcode || 92、Reverse Linked List II
- leetcode-Reverse Linked List II-92
- (LeetCode 92)Reverse Linked List II
- leetcode 92: Reverse Linked List II
- leetcode[92] Reverse Linked List II
- LeetCode92 Reverse Linked List II
- leetcode 92 Reverse Linked List II C++
- Leetcode Reverse Linked List II 92
- 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(反转指定区间链表)
- Reverse Linked List II Leetcode92
- LeetCode-92-Reverse Linked List II 链表反转 各种边界条件
- [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
- LeetCode(92) Reverse Linked List II
- leetcode[92]:Reverse Linked List II