Array / String
- 1 Two Sum
- 49 Group Anagrams
- 58 Length of Last Word
- 217 Contains Duplicate
- 242. Valid Anagram
- 383 Ransom Note
- 929 Unique Email Addresses
- 1768 Merge Strings Alternately
- 1071 Greatest Common Divisor of Strings
- 1299 Replace Elements with Greatest Element on Right Side
Two Pointers
- 42 Trapping Rain Water
- 88 Merge Sorted Array
- 125 Valid Palindrome
- 408 Valid Word Abbreviation
- 567 Permutation in String
Sliding Windows
- 3 Longest Substring Without Repeating Characters
- 76 Minimum Window Substring
- 424 Longest Repeating Character Replacement
Binary Search
- 34 Find First and Last Position of Element in Sorted Array
- 35 Search Insert Position
- 704 Binary Search
- 981 Binary Search in
Time Based Key-Value Store
Linked List
- 2 Add Two Numbers
- 19 Remove Nth Node From End of linked list
- 21 Merge Two Sorted Lists
- 86 Partition List
- 141 Linked List Cycle
- 143 Reorder List
- 203 Remove Linked List Elements
- 206 Reverse Linked List
Stack
Tree
- 98 Validate Binary Search Tree
- 100 Same Tree
- 102. Binary Tree Level Order Traversal
- 104 Maximum Depth of Binary Tree
- 105 Construct Binary Tree from Preorder and Inorder Traversal
- 110 Balanced Binary Tree
- 124 Binary Tree Maximum Path Sum
- 226 Invert Binary Tree
- 230 Kth Smallest Element in a BST
- 235 Lowest Common Ancestor of a Binary Search Tree
- 572 Subtree of Another Tree
- 617 Merge Two Binary Trees
- 776 Split BST
Heap
Backtracking
Dynamic Programming
DFS (Island – Flood)
Two Pointers (Fast and Slow)
Design
integer manipulation
Math
Bit Manipulation
Interval
Prefix and Suffix
Buy and Sell Stock
Contains Duplicate
Sum
Single Number
Recommend Resources:
- How I would learn Leetcode if I could start over NeetCodeIO