ReverseLinkedListiiWrong

Run Settings
LanguageJavaScript
Language Version
Run Command
class ListNode { constructor(val, next = null) { this.val = val; this.next = next; } } // ---- Generate our linked list ---- const linkedList = [5, 4, 3, 2, 1].reduce((acc, val) => new ListNode(val, acc), null); // ---- Generate our linked list ---- const printList = (head) => { if(!head) { return; } console.log(head.val); printList(head.next); } // --------- Our solution ----------- var reverseBetween = function(head, left, right) { let prev = null; let current = head; let nodeArr = {}; //[1,2,3,4,5] //[1,4,3,2,5] while(current) { if (current.val == left) { while(current) { nodeArr[current.val] = current.next; if (current.val == right) { current = current; prev = null; for (let node in nodeArr) { //console.log(nodeArr[node].val-1); let nextTemp = current.next; current.next = prev; prev = current; current = nextTemp; } //console.log("Current Value: " + current.val); //console.log(nodeArr); break; } let nextTemp = current.next; current.next = prev; prev = current; current = nextTemp; } } let nextTemp = current.next; current.next = prev; prev = current; current = nextTemp; } return prev; }; printList(linkedList); console.log('after reverse') printList(reverseBetween(linkedList,2,4))
Editor Settings
Theme
Key bindings
Full width
Lines