InterviewBit Academy is now Scaler!
Learn Tech Skills from Scratch @ Scaler EDGE

Level 4

Linked Lists

A linked list is a linear data structure where each element is a separate object.
Linked list elements are not stored at contiguous location; the elements are linked using pointers.

Each node of a list is made up of two items - the data and a reference to the next node. The last node has a reference to null. The entry point into a linked list is called the head of the list. It should be noted that head is not a separate node, but the reference to the first node. If the list is empty then the head is a null reference.

Linked List Representation  
Linked List Representation
An example of a linked list node with an integer data.
// Linked list example in C/C++
// A linked list node
struct ListNode
  int val;
  struct ListNode *next;
// Linked list example in Java
// Linked list class
class ListNode
    // head of list
    Node head;
    // Node class
    class Node
        int val;
        Node next;
        // Constructor to create a new node
        Node(int v) {
           val = v;
# Linked list example in Python
# Node class
class Node:
    # Function to initialize the node object
    def __init__(self, v):
        self.val = v  # Assign value = None  # Initialize next as null
# Linked List class
class ListNode:
    # Function to initialize the Linked List
    def __init__(self): 
        self.head = None

Important tutorials

1. Arrays Vs Linked Lists
View Tutorial
2. Linked List Implementation
View Tutorial
3. Doubly Linked List
View Tutorial
4. Doubly Linked List Implementation
View Tutorial

Linked Lists Problems

List sort
Problem Score Companies Time Status
Sort Binary Linked List 200 24:20
Partition List 275
Insertion Sort List 300
Sort List 350
Pointer move
Problem Score Companies Time Status
K reverse linked list 200 59:52
Even Reverse 200 30:39
Swap List Nodes in pairs 350 33:34
Rotate List 350 33:51
List trick
Problem Score Companies Time Status
Kth Node From Middle 200 24:54
Reverse Alternate K Nodes 300 35:53
Reverse Link List II 450 57:24
Reorder List 600 57:06
List math
Problem Score Companies Time Status
Add Two Numbers as Lists 250 43:07
List Cycle 600 39:15