A linked list is a linear data structure consisting of a group of nodes where each node points to the next node through a pointer. Each node is composed of data and a reference (in other words, a link) to the next node in the sequence.

- Introduction to Linked ListsBeginner
- Linked List Implementation – C, C++, Java, PythonBeginner
- Linked List – Insertion at TailBeginner
- Static Linked ListBeginner
- Clone a Linked ListEasy
- Delete a linked listEasy
- Pop operation in a linked listEasy
- Insert a node to its correct sorted position in a sorted linked listEasy
- Rearrange linked list in increasing order (Sort linked list)Medium
- Split nodes of a linked list into the front and back halvesEasy
- Remove duplicates from a sorted linked listEasy
- Move the front node of a linked list in front of another listEasy
- Move even nodes to the end of the linked list in reverse orderMedium
- Split a linked list into two lists where each list contains alternating elements from itMedium
- Construct a linked list by merging alternate nodes of two given listsEasy
- Merge two sorted linked lists into oneMedium
- Efficiently merge
ksorted linked listsHard - Intersection of two sorted linked listsMedium
- Reverse a linked List – Iterative SolutionMedium
- Reverse a Linked List – Recursive SolutionHard
- Reverse every group of
knodes in a linked listMedium - Find k’th node from the end of a linked listEasy
- Merge alternate nodes of two linked lists into the first listMedium
- Merge two sorted linked lists from their endMedium
- Delete every
Nnodes in a linked list after skippingMnodesEasy - Rearrange linked list in a specific manner in linear timeMedium
- Check if a linked list is palindrome or notMedium
- Move the last node to the front of a linked listEasy
- Rearrange linked list in a specific mannerEasy
- Detect cycle in a linked list (Floyd’s Cycle Detection Algorithm)Easy
- Sort linked list containing 0’s, 1’s, and 2’s in a single traversalMedium
- Remove duplicates from a linked list in a single traversalEasy
- Rearrange linked list so that it has alternating high and low valuesMedium
- Rearrange a linked list by separating odd nodes from even onesMedium
- Calculate the height of a binary tree with leaf nodes forming a circular doubly linked listMedium
- XOR Linked List – Overview and Implementation in C/C++Medium
- Recursively check if the linked list of characters is palindrome or notMedium
- Merge two BSTs into a doubly-linked list in sorted orderHard
- Remove redundant nodes from a path formed by a linked listMedium
- Add a single-digit number to a linked list representing a numberMedium
- Reverse every alternate group of
knodes in a linked listMedium - Determine whether a linked list is palindrome or notMedium
- Reverse a doubly linked listEasy
- Pairwise swap adjacent nodes of a linked listMedium
- Flatten a Linked ListHard
- Check if a linked list of strings is palindromicEasy
- Flatten a multilevel linked listMedium
- Construct a height-balanced BST from an unbalanced BSTHard
- Swap k’th node from beginning with k’th node from the end in a linked listMedium
- Add two linked lists without using any extra spaceMedium
- Clone a linked list with random pointerHard
- Update random pointer for each linked list node to point to the maximum nodeMedium
- Link nodes present in each level of a binary tree in the form of a linked listHard
- Convert a ternary tree to a doubly-linked listMedium
- Construct a height-balanced BST from a sorted doubly linked listHard
- In-place merge two sorted linked lists without modifying links of the first listMedium
- Reverse specified portion of a linked listMedium
- Find the intersection point of two linked listsMedium
- Extract leaves of a binary tree into a doubly-linked listMedium
- Find the vertical sum of a binary treeHard
- In-place convert a binary tree to a doubly-linked listHard
- Find a triplet with the given sum in a BSTHard
- Check whether the leaf traversal of given binary trees is the same or notHard
- Merge sort algorithm for a singly linked listHard
- Sort a doubly-linked list using merge sortMedium
- Stack Implementation using a Linked ListBeginner
- Queue Implementation using a Linked ListBeginner
- Convert a binary tree into a doubly-linked list in spiral orderHard
- Convert a Binary Search Tree into a Min HeapHard
- Convert a multilevel linked list to a singly linked listMedium
- Print nodes of a binary tree in vertical orderMedium
Thanks for reading.
To share your code in the comments, please use our online compiler that supports C, C++, Java, Python, JavaScript, C#, PHP, and many more popular programming languages.
Like us? Refer us to your friends and support our growth. Happy coding :)