Thursday, April 12, 2012

Reversing a SLL(Iter and Rec)


public static LinkedList Reverse(LinkedList p) { if(p == null) return null; if( p.next == null) return p; LinkedList q = Reverse(p.next); p.next.next = p; p.next = null; return q; } public static LinkedList revIterative(LinkedList p){ if(p==null) return null; LinkedList currNode = p,prevNode = null, nextNode = null; while(currNode!=null) { nextNode = currNode.next; currNode.next = prevNode; prevNode = currNode; currNode = nextNode; } return prevNode; }

No comments:

Post a Comment