01 — Problem Directory

Data Structures & Algorithms

Complete catalog of 99 interactive algorithm visualizers. Browse by data structure category or filter by difficulty.

Showing 15 of 99 visualizers
LL
Linked Lists
Medium
Add Two Numbers

Add two numbers represented by linked lists in reverse digit order, simulating column-by-column addition with carry.

Linked ListMathTwo Pointers+1
LL
Linked Lists
Easy
Linked List Cycle

Detect whether a linked list contains a cycle using Floyd's Tortoise and Hare algorithm.

Linked ListTwo PointersCycle Detection+1
LL
Linked Lists
Easy
Merge Two Sorted Lists

Merge two sorted linked lists into a single sorted list by splicing together node pointers in O(n + m) time.

Linked ListTwo PointersSimulation
LL
Linked Lists
Easy
Middle of the Linked List

Find the middle node of a singly linked list using fast and slow pointers.

Linked ListTwo PointersFast & Slow Pointers
LL
Linked Lists
Medium
Odd Even Linked List

Group all nodes with odd indices together followed by nodes with even indices in O(1) space and O(n) time.

Linked ListTwo PointersIn-Place
LL
Linked Lists
Easy
Palindrome Linked List

Determine if a singly linked list is a palindrome in O(n) time and O(1) space using fast/slow pointers and in-place reversal.

Linked ListTwo PointersFast & Slow Pointers+1
LL
Linked Lists
Medium
Partition List

Partition a linked list such that all nodes less than x come before nodes greater than or equal to x, preserving relative order.

Linked ListTwo PointersPartition
LL
Linked Lists
Easy
Remove Duplicates from Sorted List

Delete all duplicate elements from a sorted singly linked list so each element appears only once.

Linked ListTwo Pointers
LL
Linked Lists
Medium
Remove Nth Node From End of List

Remove the n-th node from the end of the list and return its head using a one-pass two-pointer approach with a dummy node.

Linked ListTwo PointersDummy Node
LL
Linked Lists
Medium
Reorder List

Reorder the list to L0 → Ln → L1 → Ln-1 → L2 → Ln-2 by finding the middle, reversing the second half, and merging both halves.

Linked ListTwo PointersReversal+1
LL
Linked Lists
Easy
Reverse Linked List

Reverse a singly linked list iteratively in-place by reversing the next pointer of each node.

Linked ListTwo PointersIterative+1
LL
Linked Lists
Medium
Reverse Linked List II

Reverse a singly linked list from position left to position right in a single pass.

Linked ListTwo PointersIterative+1
LL
Linked Lists
Medium
Rotate List

Rotate the linked list to the right by k places by connecting the tail to head and severing at (length - k % length).

Linked ListTwo PointersCircular List
LL
Linked Lists
Medium
Sort List

Sort a linked list in O(n log n) time using top-down Merge Sort with divide-and-conquer recursion.

Linked ListMerge SortDivide and Conquer+1
LL
Linked Lists
Medium
Swap Nodes in Pairs

Swap every two adjacent nodes in a linked list and return its head without modifying node values.

Linked ListRecursionPointer Manipulation