标签:leetcode java algorithms datastructure linkedlist
Reverse Linked List II1 ≤ m ≤ n ≤ length of list.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public ListNode reverseBetween(ListNode head, int m, int n) {
ListNode dummyHead=new ListNode(0);
dummyHead.next=head;
ListNode p=dummyHead;
for(int i=1;i<m;i++){
p=p.next;
}
p.next=reverse(p.next,n-m+1);
return dummyHead.next;
}
private ListNode reverse(ListNode head,int count){
ListNode pre=null;
ListNode next=null;
ListNode cur=head;
for(int i=0;i<count;i++){
next=cur.next;
cur.next=pre;
pre=cur;
cur=next;
}
head.next=next;
return pre;
}
}LeetCode Solutions : Reverse Linked List II
标签:leetcode java algorithms datastructure linkedlist
原文地址:http://blog.csdn.net/lviiii/article/details/39157949