1 Majority Element Arrays Easy – 1 2 3 4 5 2 Find Pivot Index Arrays Easy – 1 2 3 4 5 3 Product of Array Except Self Arrays Medium – 1 2 3 4 5 4 Subarray Sum Equals K Arrays Medium – 1 2 3 4 5 5 Subarray Sums Divisible by K Arrays Medium – 1 2 3 4 5 6 Contiguous Array Arrays Medium – 1 2 3 4 5 7 Shortest Subarray with Sum at Least K Arrays Hard – 1 2 3 4 5 8 Maximum Subarray Arrays Medium – 1 2 3 4 5 9 Maximum Product Subarray Arrays Medium – 1 2 3 4 5 10 Maximum Subarray Sum with One Deletion Arrays Medium – 1 2 3 4 5 11 Maximum Absolute Sum of Any Subarray Arrays Medium – 1 2 3 4 5 12 Maximum Sum Circular Subarray Arrays Medium – 1 2 3 4 5 13 Rotate Image Arrays Medium – 1 2 3 4 5 14 Spiral Matrix Arrays Medium – 1 2 3 4 5 15 Set Matrix Zeroes Arrays Medium – 1 2 3 4 5 16 Missing Number Arrays Easy – 1 2 3 4 5 17 Find All Numbers Disappeared in an Array Arrays Easy – 1 2 3 4 5 18 Set Mismatch Arrays Easy – 1 2 3 4 5 19 Find All Duplicates in an Array Arrays Medium – 1 2 3 4 5 20 First Missing Positive Arrays Hard – 1 2 3 4 5 21 Contains Duplicate Hashing Easy – 1 2 3 4 5 22 Valid Anagram Hashing Easy – 1 2 3 4 5 23 Two Sum Hashing Easy – 1 2 3 4 5 24 First Unique Character in a String Hashing Easy – 1 2 3 4 5 25 Longest Palindrome Hashing Easy – 1 2 3 4 5 26 Ransom Note Hashing Easy – 1 2 3 4 5 27 Valid Sudoku Hashing Medium – 1 2 3 4 5 28 Group Anagrams Hashing Medium – 1 2 3 4 5 29 Longest Consecutive Sequence Hashing Medium – 1 2 3 4 5 30 Longest Common Prefix Strings Easy – 1 2 3 4 5 31 Reverse String Strings Easy – 1 2 3 4 5 32 Encode and Decode Strings Strings Medium – 1 2 3 4 5 33 String to Integer (atoi) Strings Medium – 1 2 3 4 5 34 Number of 1 Bits Bit Manipulation Easy – 1 2 3 4 5 35 Reverse Bits Bit Manipulation Easy – 1 2 3 4 5 36 Single Number Bit Manipulation Easy – 1 2 3 4 5 37 Counting Bits Bit Manipulation Easy – 1 2 3 4 5 38 Complement of Base 10 Integer Bit Manipulation Easy – 1 2 3 4 5 39 Sum of Two Integers Bit Manipulation Medium – 1 2 3 4 5 40 Single Number III Bit Manipulation Medium – 1 2 3 4 5 41 Valid Palindrome II Two Pointers Easy – 1 2 3 4 5 42 Valid Palindrome Two Pointers Easy – 1 2 3 4 5 43 Move Zeroes Two Pointers Easy – 1 2 3 4 5 44 Remove Duplicates from Sorted Array Two Pointers Easy – 1 2 3 4 5 45 Squares of a Sorted Array Two Pointers Easy – 1 2 3 4 5 46 Segregate 0s and 1s Two Pointers Easy – 1 2 3 4 5 47 Backspace String Compare Two Pointers Easy – 1 2 3 4 5 48 Two Sum II Input Array Is Sorted Two Pointers Medium – 1 2 3 4 5 49 3Sum Two Pointers Medium – 1 2 3 4 5 50 Container With Most Water Two Pointers Medium – 1 2 3 4 5 51 Sort Colors Two Pointers Medium – 1 2 3 4 5 52 3Sum Closest Two Pointers Medium – 1 2 3 4 5 53 Triplets with Smaller Sum Two Pointers Medium – 1 2 3 4 5 54 Subarray Product Less Than K Two Pointers Medium – 1 2 3 4 5 55 4Sum Two Pointers Medium – 1 2 3 4 5 56 Shortest Unsorted Continuous Subarray Two Pointers Medium – 1 2 3 4 5 57 Trapping Rain Water Two Pointers Hard – 1 2 3 4 5 58 Implement Stack using Queues Queue Easy – 1 2 3 4 5 59 Implement Queue using Stacks Queue Easy – 1 2 3 4 5 60 Number of Recent Calls Queue Easy – 1 2 3 4 5 61 Design Circular Queue Queue Medium – 1 2 3 4 5 62 Best Time to Buy and Sell Stock Sliding Window Easy – 1 2 3 4 5 63 Max Sum Subarray of Size K Sliding Window Easy – 1 2 3 4 5 64 Longest Substring Without Repeating Characters Sliding Window Medium – 1 2 3 4 5 65 Longest Repeating Character Replacement Sliding Window Medium – 1 2 3 4 5 66 Permutation in String Sliding Window Medium – 1 2 3 4 5 67 Minimum Size Subarray Sum Sliding Window Medium – 1 2 3 4 5 68 Longest K unique characters substring Sliding Window Medium – 1 2 3 4 5 69 Fruit Into Baskets Sliding Window Medium – 1 2 3 4 5 70 Max Consecutive Ones III Sliding Window Medium – 1 2 3 4 5 71 Find All Anagrams in a String Sliding Window Medium – 1 2 3 4 5 72 Minimum Window Substring Sliding Window Hard – 1 2 3 4 5 73 Sliding Window Maximum Sliding Window Hard – 1 2 3 4 5 74 Substring with Concatenation of All Words Sliding Window Hard – 1 2 3 4 5 75 Valid Parentheses Stack Easy – 1 2 3 4 5 76 Remove All Adjacent Duplicates In String Stack Easy – 1 2 3 4 5 77 Min Stack Stack Medium – 1 2 3 4 5 78 Evaluate Reverse Polish Notation Stack Medium – 1 2 3 4 5 79 Remove All Adjacent Duplicates in String II Stack Medium – 1 2 3 4 5 80 Simplify Path Stack Medium – 1 2 3 4 5 81 Next Greater Element I Stack Easy – 1 2 3 4 5 82 Daily Temperatures Stack Medium – 1 2 3 4 5 83 Car Fleet Stack Medium – 1 2 3 4 5 84 Next Greater Element II Stack Medium – 1 2 3 4 5 85 Remove Nodes From Linked List Stack Medium – 1 2 3 4 5 86 Remove K Digits Stack Medium – 1 2 3 4 5 87 132 Pattern Stack Medium – 1 2 3 4 5 88 Largest Rectangle in Histogram Stack Hard – 1 2 3 4 5 89 Binary Search Binary Search Easy – 1 2 3 4 5 90 Ceil in Sorted Array Binary Search Easy – 1 2 3 4 5 91 Time Based Key-Value Store Binary Search Medium – 1 2 3 4 5 92 Find First and Last Position Binary Search Medium – 1 2 3 4 5 93 Number of Occurrence Binary Search Medium – 1 2 3 4 5 94 Median of Two Sorted Arrays Binary Search Hard – 1 2 3 4 5 95 Find Rotation Count Binary Search Easy – 1 2 3 4 5 96 Find Minimum in Rotated Sorted Array Binary Search Medium – 1 2 3 4 5 97 Search in Rotated Sorted Array Binary Search Medium – 1 2 3 4 5 98 Peak Index in a Mountain Array Binary Search Medium – 1 2 3 4 5 99 Find Peak Element Binary Search Medium – 1 2 3 4 5 100 Koko Eating Bananas Binary Search Medium – 1 2 3 4 5 101 Minimum Number of Days to Make m Bouquets Binary Search Medium – 1 2 3 4 5 102 Aggressive Cows Binary Search Medium – 1 2 3 4 5 103 Maximum Candies Allocated to K Children Binary Search Medium – 1 2 3 4 5 104 Capacity To Ship Packages Within D Days Binary Search Medium – 1 2 3 4 5 105 Split Array Largest Sum Binary Search Hard – 1 2 3 4 5 106 Search a 2D Matrix Binary Search Medium – 1 2 3 4 5 107 Search a 2D Matrix II Binary Search Medium – 1 2 3 4 5 108 Kth Smallest Element in a Sorted Matrix Binary Search Medium – 1 2 3 4 5 109 Merge Two Sorted Lists Linked List Easy – 1 2 3 4 5 110 Remove Nth Node From End of List Linked List Medium – 1 2 3 4 5 111 Copy List with Random Pointer Linked List Medium – 1 2 3 4 5 112 Add Two Numbers Linked List Medium – 1 2 3 4 5 113 LRU Cache Linked List Medium – 1 2 3 4 5 114 Linked List Cycle Linked List Easy – 1 2 3 4 5 115 Happy Number Linked List Easy – 1 2 3 4 5 116 Middle of the Linked List Linked List Easy – 1 2 3 4 5 117 Palindrome Linked List Linked List Easy – 1 2 3 4 5 118 Reorder List Linked List Medium – 1 2 3 4 5 119 Find the Duplicate Number Linked List Medium – 1 2 3 4 5 120 Linked List Cycle II Linked List Medium – 1 2 3 4 5 121 Circular Array Loop Linked List Medium – 1 2 3 4 5 122 Reverse Linked List Linked List Easy – 1 2 3 4 5 123 Reverse Linked List II Linked List Medium – 1 2 3 4 5 124 Swap Nodes in Pairs Linked List Medium – 1 2 3 4 5 125 Rotate List Linked List Medium – 1 2 3 4 5 126 Reverse Nodes in k-Group Linked List Hard – 1 2 3 4 5 127 Invert Binary Tree Trees Easy – 1 2 3 4 5 128 Maximum Depth of Binary Tree Trees Easy – 1 2 3 4 5 129 Diameter of Binary Tree Trees Easy – 1 2 3 4 5 130 Balanced Binary Tree Trees Easy – 1 2 3 4 5 131 Same Tree Trees Easy – 1 2 3 4 5 132 Subtree of Another Tree Trees Easy – 1 2 3 4 5 133 Count Good Nodes in Binary Tree Trees Medium – 1 2 3 4 5 134 Construct Tree from Preorder and Inorder Trees Medium – 1 2 3 4 5 135 Lowest Common Ancestor of Binary Tree Trees Medium – 1 2 3 4 5 136 Binary Tree Maximum Path Sum Trees Hard – 1 2 3 4 5 137 Serialize and Deserialize Binary Tree Trees Hard – 1 2 3 4 5 138 Binary Tree Level Order Traversal Trees Medium – 1 2 3 4 5 139 Binary Tree Right Side View Trees Medium – 1 2 3 4 5 140 Implement Trie (Prefix Tree) Trees Medium – 1 2 3 4 5 141 Design Add and Search Words Trees Medium – 1 2 3 4 5 142 Extra Characters in a String Trees Medium – 1 2 3 4 5 143 Search Suggestions System Trees Medium – 1 2 3 4 5 144 Word Search II Trees Hard – 1 2 3 4 5 145 Convert Sorted Array to BST BST Easy – 1 2 3 4 5 146 Validate Binary Search Tree BST Medium – 1 2 3 4 5 147 Kth Smallest Element in a BST BST Medium – 1 2 3 4 5 148 Lowest Common Ancestor of a BST BST Medium – 1 2 3 4 5 149 Insert into a BST BST Medium – 1 2 3 4 5 150 Delete Node in a BST BST Medium – 1 2 3 4 5 151 Kth Largest Element in a Stream Heap Easy – 1 2 3 4 5 152 Last Stone Weight Heap Easy – 1 2 3 4 5 153 Top K Frequent Elements Heap Medium – 1 2 3 4 5 154 K Closest Points to Origin Heap Medium – 1 2 3 4 5 155 Kth Largest Element in an Array Heap Medium – 1 2 3 4 5 156 Task Scheduler Heap Medium – 1 2 3 4 5 157 Min Cost to Connect Ropes Heap Medium – 1 2 3 4 5 158 Sort Characters By Frequency Heap Medium – 1 2 3 4 5 159 Find K Closest Elements Heap Medium – 1 2 3 4 5 160 Reorganize String Heap Medium – 1 2 3 4 5 161 Maximum Frequency Stack Heap Hard – 1 2 3 4 5 162 Maximum Sum Combination Heap Medium – 1 2 3 4 5 163 Find Median from Data Stream Heap Hard – 1 2 3 4 5 164 Sliding Window Median Heap Hard – 1 2 3 4 5 165 IPO Heap Hard – 1 2 3 4 5 166 Design Twitter Heap Medium – 1 2 3 4 5 167 Merge k Sorted Lists Heap Hard – 1 2 3 4 5 168 Smallest Range Covering Elements from K Lists Heap Hard – 1 2 3 4 5 169 Jump Game Greedy Medium – 1 2 3 4 5 170 Jump Game II Greedy Medium – 1 2 3 4 5 171 Gas Station Greedy Medium – 1 2 3 4 5 172 Hand of Straights Greedy Medium – 1 2 3 4 5 173 Merge Triplets to Form Target Greedy Medium – 1 2 3 4 5 174 Partition Labels Greedy Medium – 1 2 3 4 5 175 Valid Parenthesis String Greedy Medium – 1 2 3 4 5 176 Maximum Length of Pair Chain Greedy Medium – 1 2 3 4 5 177 Minimum Add to Make Parentheses Valid Greedy Medium – 1 2 3 4 5 178 Remove Duplicate Letters Greedy Medium – 1 2 3 4 5 179 Meeting Rooms Greedy Easy – 1 2 3 4 5 180 Merge Intervals Greedy Medium – 1 2 3 4 5 181 Insert Interval Greedy Medium – 1 2 3 4 5 182 Non-overlapping Intervals Greedy Medium – 1 2 3 4 5 183 Interval List Intersections Greedy Medium – 1 2 3 4 5 184 Meeting Rooms II Greedy Medium – 1 2 3 4 5 185 My Calendar I Greedy Medium – 1 2 3 4 5 186 Generate Parentheses Backtracking Medium – 1 2 3 4 5 187 Subsets Backtracking Medium – 1 2 3 4 5 188 Permutations Backtracking Medium – 1 2 3 4 5 189 Subsets II Backtracking Medium – 1 2 3 4 5 190 Letter Combinations of a Phone Number Backtracking Medium – 1 2 3 4 5 191 Letter Case Permutation Backtracking Medium – 1 2 3 4 5 192 Combination Sum Backtracking Medium – 1 2 3 4 5 193 Combination Sum II Backtracking Medium – 1 2 3 4 5 194 Word Search Backtracking Medium – 1 2 3 4 5 195 Palindrome Partitioning Backtracking Medium – 1 2 3 4 5 196 N-Queens Backtracking Hard – 1 2 3 4 5 197 Sudoku Solver Backtracking Hard – 1 2 3 4 5 198 Find if Path Exists in Graph Graph Easy – 1 2 3 4 5 199 Clone Graph Graph Medium – 1 2 3 4 5 200 Number of Provinces Graph Medium – 1 2 3 4 5 201 Word Ladder Graph Hard – 1 2 3 4 5 202 Reconstruct Itinerary Graph Hard – 1 2 3 4 5 203 Flood Fill Graph Easy – 1 2 3 4 5 204 Island Perimeter Graph Easy – 1 2 3 4 5 205 Number of Islands Graph Medium – 1 2 3 4 5 206 Max Area of Island Graph Medium – 1 2 3 4 5 207 Pacific Atlantic Water Flow Graph Medium – 1 2 3 4 5 208 Surrounded Regions Graph Medium – 1 2 3 4 5 209 Rotting Oranges Graph Medium – 1 2 3 4 5 210 Number of Closed Islands Graph Medium – 1 2 3 4 5 211 Course Schedule Graph Medium – 1 2 3 4 5 212 Course Schedule II Graph Medium – 1 2 3 4 5 213 Topological Sort Graph Medium – 1 2 3 4 5 214 Minimum Height Trees Graph Medium – 1 2 3 4 5 215 Alien Dictionary Graph Hard – 1 2 3 4 5 216 Graph Valid Tree Graph Medium – 1 2 3 4 5 217 Number of Connected Components Graph Medium – 1 2 3 4 5 218 Redundant Connection Graph Medium – 1 2 3 4 5 219 Is Graph Bipartite? Graph Medium – 1 2 3 4 5 220 Path With Minimum Effort Graph Medium – 1 2 3 4 5 221 Network Delay Time Graph Medium – 1 2 3 4 5 222 Cheapest Flights Within K Stops Graph Medium – 1 2 3 4 5 223 Min Cost to Connect All Points Graph Medium – 1 2 3 4 5 224 Swim in Rising Water Graph Hard – 1 2 3 4 5 225 Climbing Stairs Dynamic Programming Easy – 1 2 3 4 5 226 Min Cost Climbing Stairs Dynamic Programming Easy – 1 2 3 4 5 227 House Robber Dynamic Programming Medium – 1 2 3 4 5 228 House Robber II Dynamic Programming Medium – 1 2 3 4 5 229 Decode Ways Dynamic Programming Medium – 1 2 3 4 5 230 Coin Change Dynamic Programming Medium – 1 2 3 4 5 231 Word Break Dynamic Programming Medium – 1 2 3 4 5 232 Longest Increasing Subsequence Dynamic Programming Medium – 1 2 3 4 5 233 Best Time to Buy/Sell with Cooldown Dynamic Programming Medium – 1 2 3 4 5 234 Partition Equal Subset Sum Dynamic Programming Medium – 1 2 3 4 5 235 Coin Change II Dynamic Programming Medium – 1 2 3 4 5 236 Target Sum Dynamic Programming Medium – 1 2 3 4 5 237 0 - 1 Knapsack Problem Dynamic Programming Medium – 1 2 3 4 5 238 Subset Sum Problem Dynamic Programming Medium – 1 2 3 4 5 239 Count Subsets with Sum Dynamic Programming Medium – 1 2 3 4 5 240 Partition Into 2 Subsets with Min Sum Diff Dynamic Programming Hard – 1 2 3 4 5 241 Longest Palindromic Substring Dynamic Programming Medium – 1 2 3 4 5 242 Palindromic Substrings Dynamic Programming Medium – 1 2 3 4 5 243 Unique Paths Dynamic Programming Medium – 1 2 3 4 5 244 Longest Common Subsequence Dynamic Programming Medium – 1 2 3 4 5 245 Interleaving String Dynamic Programming Medium – 1 2 3 4 5 246 Edit Distance Dynamic Programming Medium – 1 2 3 4 5 247 Burst Balloons Dynamic Programming Hard – 1 2 3 4 5 248 Regular Expression Matching Dynamic Programming Hard – 1 2 3 4 5