Skip to content

Instantly share code, notes, and snippets.

@claytonjwong
Created December 22, 2021 15:26
Show Gist options
  • Save claytonjwong/f9c32feb3fafa2f8a4a1bc23b72f8708 to your computer and use it in GitHub Desktop.
Save claytonjwong/f9c32feb3fafa2f8a4a1bc23b72f8708 to your computer and use it in GitHub Desktop.
reverse linked list
//
// Recursively change each node of the linked list such that next
// is the last node seen during a linear scan of the linked list.
//
let reverseList = head => {
let go = (node = head, last = null) => {
let next = node.next;
node.next = last;
if (!next)
return node;
return go(next, node);
};
return head ? go() : null;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment