public void reverse() { Node pointer = head; Node previous = null, current = null; while (pointer != null) { current = pointer; pointer = pointer.next; // reverse the link current.next = previous; previous = current; head = current; } }Source:w.wwlautturi.com