LinkedList.prototype.reverse = function () { var rev = function(e,tail) { if (!e) { return tail; } else { var next = e.next; e.next = tail; return rev(next, e); } }; this.head = rev(this.head, null); };