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(curr!=null)
head.next = reverseK(curr,k);
return prev;
}
public static LinkedList reverseK_Iter(LinkedList p, int k){
LinkedList headNode = null,head = null;
LinkedList curr = p;
int count;
while(curr != null ) {
LinkedList prev = null,next=null;
LinkedList currHead = curr;
count = 0;
while(curr!=null && count < k) {
next = curr.next;
curr.next = prev;
prev=curr;
curr = next;
count++;
}
if(headNode == null)
headNode = prev;
else
head.next = prev;
head = currHead;
//LinkedList.Display(headNode);
}
return headNode;
}
Thursday, April 12, 2012
Reversing grp of K Nodes in SLL
Labels:
LinkedLists
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment