linked list reverse
// using iterative method to reverse linked list in JavaScript
// time complexity: O(n) & space complexity: O(1)
reverse() {
if (!this.head.next) {
return this.head;
}
let prevNode = null;
let currNode = this.head;
let nextNode = this.head;
while(nextNode){
nextNode = currNode.next;
currNode.next = prevNode;
prevNode = currNode;
currNode = nextNode;
}
this.head = prevNode;
return this.printList();
}