Linked List Problems
Linked List Cycle
Problem: Determine if a linked list has a cycle.
Difficulty: Easy
Linked List Cycle II
Problem: Find the node where the cycle begins in a linked list.
Difficulty: Medium
Happy Number
Problem: Determine if a number is a "happy number," which involves detecting cycles in the sum of the squares of its digits.
Difficulty: Easy
Middle of the Linked List
Problem: Find the middle node of a linked list.
Difficulty: Easy
Palindrome Linked List
Problem: Determine if a linked list is a palindrome.
Difficulty: Easy
Intersection of Two Linked Lists
Problem: Find the intersection node of two singly linked lists.
Difficulty: Easy
Array Problems
Find the Duplicate Number
Problem: Find the duplicate number in an array where the numbers are used to form a cycle.
Difficulty: Medium
Circular Array Loop
Problem: Determine if there is a loop in an array where each index points to the next index to visit.
Difficulty: Medium
Circular Array Loop
Problem: Similar to problem 142, but on arrays instead of linked lists.
Difficulty: Medium
Remove Duplicates from Sorted Array
Problem: Use two pointers to remove duplicates from a sorted array in place.
Difficulty: Easy
Sort Colors
Problem: Sort an array of colors using a two-pointer technique.
Difficulty: Medium
Remove Nth Node From End of List
Problem: Remove the nth node from the end of a linked list using two pointers.
Difficulty: Medium
Longest Substring Without Repeating Characters
Problem: Find the length of the longest substring without repeating characters.
Difficulty: Medium
Two Pointers (Related Technique)
Two Sum II - Input Array Is Sorted
Problem: Find two numbers in a sorted array that add up to a specific target using a two-pointer technique.
Difficulty: Medium
3Sum
Problem: Find all unique triplets in an array that sum up to zero using a two-pointer technique.
Difficulty: Medium
3Sum Closest
Problem: Find a triplet that is closest to a given target using a two-pointer technique.
Difficulty: Medium
Merge Sorted Array
Problem: Merge two sorted arrays into one using two pointers.
Difficulty: Easy
Longest Word in Dictionary through Deleting
Problem: Find the longest word in a dictionary that can be formed by deleting some characters of a given string using two pointers.
Difficulty: Medium