143-reorder-list
DevGod needs to write a blog entry for this problem!
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @return {void} Do not return anything, modify head in-place instead.
*/
var reorderList = function(head) {
let stack = [];
let curPointer = head;
while(curPointer){
stack.push(curPointer);
curPointer = curPointer.next;
}
let size = stack.length;
curPointer = head;
let I = 0;
while(I<size){
if(I%2 === 0){ curPointer.next = stack.shift();}
else{curPointer.next = stack.pop();}
curPointer = curPointer.next;
I++;
}
curPointer.next = null;
};