# “Reverse Linked List” Javascript solution Cheat Sheet

The “Reverse Linked List” is in the easy category and is a good start for understanding more challenging algorithms using a linked list as a data structure. I will focus on explaining a solution that works and not on the O time and space complexity.

Challenge: “Given the head of a singly linked list, reverse the list, and return the reversed list.”LeetCode

Note:

`// Singly linked list data structure// Given head “Object”// Reverse the list// Return reversed list`

Example:

`input: head =[5,6,7,8,9,10]  next   | 5 -> 6 -> 7 -> 8 -> 9 -> 10 -> null|                         |Head                     Tail   return: [10,9,8,7,6,5]   next    |10 -> 9 -> 8 -> 7 -> 6 -> 5 -> null |                        |Head                     Tail`

Explanation:

Create variables to keep track of reassigned values and iterate until we reach the end of the linked list.

## 1.Create variables to keep track

`let currentNode = head; let previousNode = null; let nextNode = null;`

## 2.Iterate until the end of the linked list when the head is equal to null

`while (currentNode){}`

## 3.Reassign nodes values

`nextNode = currentNode.next;`
` currentNode.next = previousNode; previousNode = currentNode; currentNode = nextNode;`

## 4.Return reversed list link

`return previousNode;`

## Solution :

`var reverseList = function(head) {  let currentNode = head; let previousNode = null; let nextNode = null;  while(currentNode ){  nextNode = currentNode.next; currentNode.next = previousNode; previousNode = currentNode;  currentNode = nextNode;  } return previousNode;};`

--

--

## More from Fadi Tillman

Lifelong learner , Full Stack Software Engineer.

## Get the Medium app

Lifelong learner , Full Stack Software Engineer.