Saturday, December 3, 2011

Reverse alternate k grp of nodes


public static LinkedList reverseK(LinkedList head, int k){
LinkedList prev = null,next=null;
LinkedList curr = head;
int count = 0;
while (curr !=null && count < k) {
next = curr.next;
curr.next = prev;
prev = curr;
curr = next;
count++;
}
if(head!=null)
head.next = curr;
count = 0;
while(curr!=null && count < k-1){
curr = curr.next;
count++;
}

    if(curr!=null)
curr.next = reverseK(curr.next,k);
return prev;
}

No comments:

Post a Comment