Reverse a Linked List

algorithm: a temp to store previous node, pointing to that in iterator

class ReverseList{

public List reverse(List l){

Node firstNode = l.getFirst();

Node temp = firstNode.next;

firstNode.next = null;

if(l == null || l.isEmpty)

throw new NotValidException();

Node previousNode = firstNode;

Node nextNode = temp;

while(nextNode != null){

nextNode  =  temp.next;

temp.next = previousNode

previousNode = temp;

}

return l;

}

}

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s