Linked Lists

Go to Problems

Linked List Implementation

Each node in a list consists of at least two parts:

    1. Data
    2. Pointer to the next node

In C/C++, we can represent a node of Linked List using structures or classes.
In Java and Python, Linked List can be represented as a class and a Node as a separate class. The LinkedList class contains a reference of Node class type. 

 

An example of a linked list node with an integer data.
// A linked list node
struct ListNode
{
  int val;
  struct ListNode *next;
};
// 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;
        }
    }
}
# Node class
class Node:
    # Function to initialize the node object
    def __init__(self, v):
        self.val = v  # Assign value
        self.next = None  # Initialize next as null
  
# Linked List class
class ListNode:
    # Function to initialize the Linked List
    def __init__(self): 
        self.head = None

Walkthrough Example :

INTERSECTLIST REVLISTSAMPLE

Serious about Learning Programming ?

Learn this and a lot more with Scaler Academy's industry vetted curriculum which covers Data Structures & Algorithms in depth.

Linked Lists Problems

List sort
Problem Score Companies Time Status
Sort Binary Linked List 200 33:21
Partition List 275
49:36
Insertion Sort List 300
49:25
Sort List 350 59:53
Pointer move
Problem Score Companies Time Status
K reverse linked list 200 60:30
Even Reverse 200 45:38
Swap List Nodes in pairs 350 33:34
Rotate List 350 33:58
List trick
Problem Score Companies Time Status
Kth Node From Middle 200 30:11
Reverse Alternate K Nodes 300 53:48
Reverse Link List II 450 57:24
Reorder List 600 57:10
List math
Problem Score Companies Time Status
Add Two Numbers as Lists 250 43:07
List Cycle 600 39:15
lock
Topic Bonus
Bonus will be unlocked after solving min. 1 problem from each bucket