Here's how I did it:
public void reverse(LinkedList<E> a) {
LinkedList<E> list = new LinkedList<E>(a);
System.out.println(list.getLast());
list.removeLast();
if(list.size() > 0) {
reverse(list);
}
}
Basically, I create a copy of the given list, print out it's last value, remove that value, and then repeat with the new list if there is anything left in the list.