翻转链表II-Leetcode92
2016-09-16 13:53
288 查看
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.
For example:
Given 1->2->3->4->5->NULL, m = 2 and n = 4,
return 1->4->3->2->5->NULL.
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode reverseBetween(ListNode head, int m, int n) { if(head == null || m >= n) return head; ListNode pre = new ListNode(-1); ListNode newHead = pre; pre.next = head; 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 newHead.next; } }
相关文章推荐
- LeetCode-Reverse Linked List II-翻转链表区间-链表操作
- LeetCode-92-Reverse Linked List II 链表反转 各种边界条件
- Leetcode 92. Reverse Linked List II 翻转链表2 解题报告
- leetcode206/92---Reverse Linked List I/II(反转链表)
- 92:Reverse Linked List II翻转链表【链表】
- LeetCode 92. Reverse Linked List II(翻转链表)
- LeetCode | Reverse Linked List II(翻转链表2)
- leetcode之链表逆序翻转类-----92/206 逆序 24/25/61/143 按规则翻转 86/234 双指针分治 19/82/83/203 按规则删除
- [LeetCode] Reverse Linked List I II - 链表翻转问题
- Reverse Linked List II 局部翻转链表@LeetCode
- 【leetcode】【单链表】【92】Reverse Linked List II
- [LeetCode系列]翻转链表问题II
- LeetCode中 翻转链表II
- 链表-leetcode 92 Reverse Linked List II
- [LeetCode-92] Reverse Linked List II(反转指定区间链表)
- [算法][LeetCode]Linked List Cycle & Linked List Cycle II——单链表中的环
- Reverse Linked List II - LeetCode 92
- LeetCode 541. Reverse String II (字符串翻转)
- LeetCode 92 Reverse Linked List II
- leetcode:单链表之Remove Duplicates from Sorted List II