leetcode92~Reverse Linked List II
2017-03-16 20:45
453 查看
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.
根本还是单链表的翻转,只不过需要预先保存好一些节点的值
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.
根本还是单链表的翻转,只不过需要预先保存好一些节点的值
public class ReverseLinkedListII { public ListNode reverseBetween(ListNode head, int m, int n) { if(head==null || m>n) { return null; } //设置一个dummyNode 便于操作 ListNode dummyNode = new ListNode(-1); dummyNode.next = head; head = dummyNode; //到m-n区间前面一个节点 for(int i=1;i<m;i++) { if(head==null) { return null; } head = head.next; } //保存n-m区间前一个节点 ListNode pre = head; //保存n-m区间第一个节点 ListNode fNode = head.next; ListNode lastNode = null; ListNode curNode= fNode; for(int i=m;i<=n;i++) { ListNode tmp = curNode.next; curNode.next = lastNode; lastNode = curNode; curNode = tmp; } pre.next = lastNode; fNode.next = curNode; return dummyNode.next; } }
相关文章推荐
- leetcode || 92、Reverse Linked List II
- 【leetcode】【92】Reverse Linked List II
- Reverse Linked List II - LeetCode 92
- 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
- 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
- LeetCode92之Reverse Linked ListII的 Java题解
- LeetCode---(92) Reverse Linked List II
- (LeetCode 92)Reverse Linked List II
- [LeetCode-92] Reverse Linked List II(反转指定区间链表)
- LeetCode 92: Reverse Linked List II