Tuesday 21 March 2023

Most popular coding interview question on LinkedList

 Introduction:

Welcome to this blog where we will discuss the popular coding interview question on LinkedList. LinkedList is one of the most common data structures used in programming, and its implementation can be found in almost every programming language. In this blog, we will go through a common LinkedList question and its answer that can help you prepare for your next coding interview.


Question:

Given a LinkedList, write a function to reverse it.


Solution:

To reverse a LinkedList, we need to reverse the direction of all the pointers. We can do this by iterating through the list and updating the pointers to point in the opposite direction. Here is the step-by-step approach to reverse a LinkedList:


Create three pointer variables: previous, current, and next. The previous pointer will initially be null, and the current pointer will point to the head of the LinkedList.


Traverse through the LinkedList, updating the next pointer to the current node's next node and then updating the current node's next pointer to the previous node.


Move the previous pointer to the current node and move the current node to the next node.


Repeat steps 2 and 3 until the end of the LinkedList is reached.


Set the head pointer of the LinkedList to the previous pointer.


Here is the implementation of the above approach:



class LinkedListNode {

  constructor(value) {

    this.value = value;

    this.next = null;

  }

}


function reverseLinkedList(head) {

  let previous = null;

  let current = head;

  let next = null;


  while (current != null) {

    next = current.next;

    current.next = previous;

    previous = current;

    current = next;

  }


  return previous;

}

In the above implementation, we first initialize the three pointers to null or the head of the LinkedList. Then we traverse through the LinkedList and update the pointers' values. Finally, we set the head pointer of the LinkedList to the previous pointer, which will be the last node of the original LinkedList.


Conclusion:

In this blog, we have discussed a common LinkedList question and its solution. Reversing a LinkedList is a popular question asked in coding interviews, and its implementation can be found in almost every programming language. By understanding the above approach, you can easily solve this problem and ace your coding interview.

1 comment: