Skip to content

Instantly share code, notes, and snippets.

@boutell
Created February 16, 2015 12:27
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save boutell/5e31025e7e29d0fa4d91 to your computer and use it in GitHub Desktop.
Save boutell/5e31025e7e29d0fa4d91 to your computer and use it in GitHub Desktop.
Reversing a linked list in JavaScript
var list = {
name: 'bob',
next: {
name: 'dick',
next: {
name: 'harry'
}
}
};
console.log('FORWARD');
var node = list;
while (node) {
console.log(node.name);
node = node.next;
}
console.log('BACKWARD');
node = list;
// recursive descent
reverse(node);
function reverse(node) {
if (node.next) {
reverse(node.next);
console.log(node.name);
} else {
console.log(node.name);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment