| 1. Two Sum | Easy | ArrayHash Table |
| 2. Add Two Numbers | Medium | Linked ListMathRecursion |
| 3. Longest Substring Without Repeating Characters | Medium | Hash TableStringSliding Window |
| 4. Median of Two Sorted Arrays | Hard | ArrayBinary SearchDivide and Conquer |
| 5. Longest Palindromic Substring | Medium | Two PointersStringDynamic Programming |
| 6. Zigzag Conversion | Medium | String |
| 7. Reverse Integer | Medium | Math |
| 8. String to Integer (atoi) | Medium | String |
| 9. Palindrome Number | Easy | Math |
| 10. Regular Expression Matching | Hard | StringDynamic ProgrammingRecursion |
| 11. Container With Most Water | Medium | ArrayTwo PointersGreedy |
| 12. Integer to Roman | Medium | Hash TableMathString |
| 13. Roman to Integer | Easy | Hash TableMathString |
| 14. Longest Common Prefix | Easy | ArrayStringTrie |
| 15. 3Sum | Medium | ArrayTwo PointersSorting |
| 16. 3Sum Closest | Medium | ArrayTwo PointersSorting |
| 17. Letter Combinations of a Phone Number | Medium | Hash TableStringBacktracking |
| 18. 4Sum | Medium | ArrayTwo PointersSorting |
| 19. Remove Nth Node From End of List | Medium | Linked ListTwo Pointers |
| 20. Valid Parentheses | Easy | StringStack |
| 21. Merge Two Sorted Lists | Easy | Linked ListRecursion |
| 22. Generate Parentheses | Medium | StringDynamic ProgrammingBacktracking |
| 23. Merge k Sorted Lists | Hard | Linked ListDivide and ConquerHeap (Priority Queue)+1 more |
| 24. Swap Nodes in Pairs | Medium | Linked ListRecursion |
| 25. Reverse Nodes in k-Group | Hard | Linked ListRecursion |
| 26. Remove Duplicates from Sorted Array | Easy | ArrayTwo Pointers |
| 27. Remove Element | Easy | ArrayTwo Pointers |
| 28. Find the Index of the First Occurrence in a String | Easy | Two PointersStringString Matching |
| 29. Divide Two Integers | Medium | MathBit Manipulation |
| 30. Substring with Concatenation of All Words | Hard | Hash TableStringSliding Window |
| 31. Next Permutation | Medium | ArrayTwo Pointers |
| 32. Longest Valid Parentheses | Hard | StringDynamic ProgrammingStack |
| 33. Search in Rotated Sorted Array | Medium | ArrayBinary Search |
| 34. Find First and Last Position of Element in Sorted Array | Medium | ArrayBinary Search |
| 35. Search Insert Position | Easy | ArrayBinary Search |
| 36. Valid Sudoku | Medium | ArrayHash TableMatrix |
| 37. Sudoku Solver | Hard | ArrayHash TableBacktracking+1 more |
| 38. Count and Say | Medium | String |
| 39. Combination Sum | Medium | ArrayBacktracking |
| 40. Combination Sum II | Medium | ArrayBacktracking |
| 41. First Missing Positive | Hard | ArrayHash Table |
| 42. Trapping Rain Water | Hard | ArrayTwo PointersDynamic Programming+2 more |
| 43. Multiply Strings | Medium | MathStringSimulation |
| 44. Wildcard Matching | Hard | StringDynamic ProgrammingGreedy+1 more |
| 45. Jump Game II | Medium | ArrayDynamic ProgrammingGreedy |
| 46. Permutations | Medium | ArrayBacktracking |
| 47. Permutations II | Medium | ArrayBacktrackingSorting |
| 48. Rotate Image | Medium | ArrayMathMatrix |
| 49. Group Anagrams | Medium | ArrayHash TableString+1 more |
| 50. Pow(x, n) | Medium | MathRecursion |
| 51. N-Queens | Hard | ArrayBacktracking |
| 52. N-Queens II | Hard | Backtracking |
| 53. Maximum Subarray | Medium | ArrayDivide and ConquerDynamic Programming |
| 54. Spiral Matrix | Medium | ArrayMatrixSimulation |
| 55. Jump Game | Medium | ArrayDynamic ProgrammingGreedy |
| 56. Merge Intervals | Medium | ArraySorting |
| 57. Insert Interval | Medium | Array |
| 58. Length of Last Word | Easy | String |
| 59. Spiral Matrix II | Medium | ArrayMatrixSimulation |
| 60. Permutation Sequence | Hard | MathRecursion |
| 61. Rotate List | Medium | Linked ListTwo Pointers |
| 62. Unique Paths | Medium | MathDynamic ProgrammingCombinatorics |
| 63. Unique Paths II | Medium | ArrayDynamic ProgrammingMatrix |
| 64. Minimum Path Sum | Medium | ArrayDynamic ProgrammingMatrix |
| 65. Valid Number | Hard | String |
| 66. Plus One | Easy | ArrayMath |
| 67. Add Binary | Easy | MathStringBit Manipulation+1 more |
| 68. Text Justification | Hard | ArrayStringSimulation |
| 69. Sqrt(x) | Easy | MathBinary Search |
| 70. Climbing Stairs | Easy | MathDynamic ProgrammingMemoization |
| 71. Simplify Path | Medium | StringStack |
| 72. Edit Distance | Medium | StringDynamic Programming |
| 73. Set Matrix Zeroes | Medium | ArrayHash TableMatrix |
| 74. Search a 2D Matrix | Medium | ArrayBinary SearchMatrix |
| 75. Sort Colors | Medium | ArrayTwo PointersSorting |
| 76. Minimum Window Substring | Hard | Hash TableStringSliding Window |
| 77. Combinations | Medium | Backtracking |
| 78. Subsets | Medium | ArrayBacktrackingBit Manipulation |
| 79. Word Search | Medium | ArrayStringBacktracking+2 more |
| 80. Remove Duplicates from Sorted Array II | Medium | ArrayTwo Pointers |
| 81. Search in Rotated Sorted Array II | Medium | ArrayBinary Search |
| 82. Remove Duplicates from Sorted List II | Medium | Linked ListTwo Pointers |
| 83. Remove Duplicates from Sorted List | Easy | Linked List |
| 84. Largest Rectangle in Histogram | Hard | ArrayStackMonotonic Stack |
| 85. Maximal Rectangle | Hard | ArrayDynamic ProgrammingStack+2 more |
| 86. Partition List | Medium | Linked ListTwo Pointers |
| 87. Scramble String | Hard | StringDynamic Programming |
| 88. Merge Sorted Array | Easy | ArrayTwo PointersSorting |
| 89. Gray Code | Medium | MathBacktrackingBit Manipulation |
| 90. Subsets II | Medium | ArrayBacktrackingBit Manipulation |
| 91. Decode Ways | Medium | StringDynamic Programming |
| 92. Reverse Linked List II | Medium | Linked List |
| 93. Restore IP Addresses | Medium | StringBacktracking |
| 94. Binary Tree Inorder Traversal | Easy | StackTreeDepth-First Search+1 more |
| 95. Unique Binary Search Trees II | Medium | Dynamic ProgrammingBacktrackingTree+2 more |
| 96. Unique Binary Search Trees | Medium | MathDynamic ProgrammingTree+2 more |
| 97. Interleaving String | Medium | StringDynamic Programming |
| 98. Validate Binary Search Tree | Medium | TreeDepth-First SearchBinary Search Tree+1 more |
| 99. Recover Binary Search Tree | Medium | TreeDepth-First SearchBinary Search Tree+1 more |
| 100. Same Tree | Easy | TreeDepth-First SearchBreadth-First Search+1 more |
| 101. Symmetric Tree | Easy | TreeDepth-First SearchBreadth-First Search+1 more |
| 102. Binary Tree Level Order Traversal | Medium | TreeBreadth-First SearchBinary Tree |
| 103. Binary Tree Zigzag Level Order Traversal | Medium | TreeBreadth-First SearchBinary Tree |
| 104. Maximum Depth of Binary Tree | Easy | TreeDepth-First SearchBreadth-First Search+1 more |
| 105. Construct Binary Tree from Preorder and Inorder Traversal | Medium | ArrayHash TableDivide and Conquer+2 more |
| 106. Construct Binary Tree from Inorder and Postorder Traversal | Medium | ArrayHash TableDivide and Conquer+2 more |
| 107. Binary Tree Level Order Traversal II | Medium | TreeBreadth-First SearchBinary Tree |
| 108. Convert Sorted Array to Binary Search Tree | Easy | ArrayDivide and ConquerTree+2 more |
| 109. Convert Sorted List to Binary Search Tree | Medium | Linked ListDivide and ConquerTree+2 more |
| 110. Balanced Binary Tree | Easy | TreeDepth-First SearchBinary Tree |
| 111. Minimum Depth of Binary Tree | Easy | TreeDepth-First SearchBreadth-First Search+1 more |
| 112. Path Sum | Easy | TreeDepth-First SearchBreadth-First Search+1 more |
| 113. Path Sum II | Medium | BacktrackingTreeDepth-First Search+1 more |
| 114. Flatten Binary Tree to Linked List | Medium | Linked ListStackTree+2 more |
| 115. Distinct Subsequences | Hard | StringDynamic Programming |
| 116. Populating Next Right Pointers in Each Node | Medium | Linked ListTreeDepth-First Search+2 more |
| 117. Populating Next Right Pointers in Each Node II | Medium | Linked ListTreeDepth-First Search+2 more |
| 118. Pascal's Triangle | Easy | ArrayDynamic Programming |
| 119. Pascal's Triangle II | Easy | ArrayDynamic Programming |
| 120. Triangle | Medium | ArrayDynamic Programming |
| 121. Best Time to Buy and Sell Stock | Easy | ArrayDynamic Programming |
| 122. Best Time to Buy and Sell Stock II | Medium | ArrayDynamic ProgrammingGreedy |
| 123. Best Time to Buy and Sell Stock III | Hard | ArrayDynamic Programming |
| 124. Binary Tree Maximum Path Sum | Hard | Dynamic ProgrammingTreeDepth-First Search+1 more |
| 125. Valid Palindrome | Easy | Two PointersString |
| 126. Word Ladder II | Hard | Hash TableStringBacktracking+1 more |
| 127. Word Ladder | Hard | Hash TableStringBreadth-First Search |
| 128. Longest Consecutive Sequence | Medium | ArrayHash TableUnion-Find |
| 129. Sum Root to Leaf Numbers | Medium | TreeDepth-First SearchBinary Tree |
| 130. Surrounded Regions | Medium | ArrayDepth-First SearchBreadth-First Search+2 more |
| 131. Palindrome Partitioning | Medium | StringDynamic ProgrammingBacktracking |
| 132. Palindrome Partitioning II | Hard | StringDynamic Programming |
| 133. Clone Graph | Medium | Hash TableDepth-First SearchBreadth-First Search+1 more |
| 134. Gas Station | Medium | ArrayGreedy |
| 135. Candy | Hard | ArrayGreedy |
| 136. Single Number | Easy | ArrayBit Manipulation |
| 137. Single Number II | Medium | ArrayBit Manipulation |
| 138. Copy List with Random Pointer | Medium | Hash TableLinked List |
| 139. Word Break | Medium | ArrayHash TableString+3 more |
| 140. Word Break II | Hard | ArrayHash TableString+4 more |
| 141. Linked List Cycle | Easy | Hash TableLinked ListTwo Pointers |
| 142. Linked List Cycle II | Medium | Hash TableLinked ListTwo Pointers |
| 143. Reorder List | Medium | Linked ListTwo PointersStack+1 more |
| 144. Binary Tree Preorder Traversal | Easy | StackTreeDepth-First Search+1 more |
| 145. Binary Tree Postorder Traversal | Easy | StackTreeDepth-First Search+1 more |
| 146. LRU Cache | Medium | Hash TableLinked ListDesign+1 more |
| 147. Insertion Sort List | Medium | Linked ListSorting |
| 148. Sort List | Medium | Linked ListTwo PointersDivide and Conquer+2 more |
| 149. Max Points on a Line | Hard | ArrayHash TableMath+1 more |
| 150. Evaluate Reverse Polish Notation | Medium | ArrayMathStack |
| 151. Reverse Words in a String | Medium | Two PointersString |
| 152. Maximum Product Subarray | Medium | ArrayDynamic Programming |
| 153. Find Minimum in Rotated Sorted Array | Medium | ArrayBinary Search |
| 154. Find Minimum in Rotated Sorted Array II | Hard | ArrayBinary Search |
| 155. Min Stack | Medium | StackDesign |
| 156. Binary Tree Upside DownPremium | Medium | TreeDepth-First SearchBinary Tree |
| 157. Read N Characters Given Read4Premium | Easy | ArraySimulationInteractive |
| 158. Read N Characters Given read4 II - Call Multiple TimesPremium | Hard | ArraySimulationInteractive |
| 159. Longest Substring with At Most Two Distinct CharactersPremium | Medium | Hash TableStringSliding Window |
| 160. Intersection of Two Linked Lists | Easy | Hash TableLinked ListTwo Pointers |
| 161. One Edit DistancePremium | Medium | Two PointersString |
| 162. Find Peak Element | Medium | ArrayBinary Search |
| 163. Missing RangesPremium | Easy | Array |
| 164. Maximum Gap | Medium | ArraySortingBucket Sort+1 more |
| 165. Compare Version Numbers | Medium | Two PointersString |
| 166. Fraction to Recurring Decimal | Medium | Hash TableMathString |
| 167. Two Sum II - Input Array Is Sorted | Medium | ArrayTwo PointersBinary Search |
| 168. Excel Sheet Column Title | Easy | MathString |
| 169. Majority Element | Easy | ArrayHash TableDivide and Conquer+2 more |
| 170. Two Sum III - Data structure designPremium | Easy | ArrayHash TableTwo Pointers+2 more |
| 171. Excel Sheet Column Number | Easy | MathString |
| 172. Factorial Trailing Zeroes | Medium | Math |
| 173. Binary Search Tree Iterator | Medium | StackTreeDesign+3 more |
| 174. Dungeon Game | Hard | ArrayDynamic ProgrammingMatrix |
| 175. Combine Two Tables | Easy | Database |
| 176. Second Highest Salary | Medium | Database |
| 177. Nth Highest Salary | Medium | Database |
| 178. Rank Scores | Medium | Database |
| 179. Largest Number | Medium | ArrayStringGreedy+1 more |
| 180. Consecutive Numbers | Medium | Database |
| 181. Employees Earning More Than Their Managers | Easy | Database |
| 182. Duplicate Emails | Easy | Database |
| 183. Customers Who Never Order | Easy | Database |
| 184. Department Highest Salary | Medium | Database |
| 185. Department Top Three Salaries | Hard | Database |
| 186. Reverse Words in a String IIPremium | Medium | Two PointersString |
| 187. Repeated DNA Sequences | Medium | Hash TableStringBit Manipulation+3 more |
| 188. Best Time to Buy and Sell Stock IV | Hard | ArrayDynamic Programming |
| 189. Rotate Array | Medium | ArrayMathTwo Pointers |
| 190. Reverse Bits | Easy | Divide and ConquerBit Manipulation |
| 191. Number of 1 Bits | Easy | Divide and ConquerBit Manipulation |
| 192. Word Frequency | Medium | Shell |
| 193. Valid Phone Numbers | Easy | Shell |
| 194. Transpose File | Medium | Shell |
| 195. Tenth Line | Easy | Shell |
| 196. Delete Duplicate Emails | Easy | Database |
| 197. Rising Temperature | Easy | Database |
| 198. House Robber | Medium | ArrayDynamic Programming |
| 199. Binary Tree Right Side View | Medium | TreeDepth-First SearchBreadth-First Search+1 more |
| 200. Number of Islands | Medium | ArrayDepth-First SearchBreadth-First Search+2 more |
| 201. Bitwise AND of Numbers Range | Medium | Bit Manipulation |
| 202. Happy Number | Easy | Hash TableMathTwo Pointers |
| 203. Remove Linked List Elements | Easy | Linked ListRecursion |
| 204. Count Primes | Medium | ArrayMathEnumeration+1 more |
| 205. Isomorphic Strings | Easy | Hash TableString |
| 206. Reverse Linked List | Easy | Linked ListRecursion |
| 207. Course Schedule | Medium | Depth-First SearchBreadth-First SearchGraph Theory+1 more |
| 208. Implement Trie (Prefix Tree) | Medium | Hash TableStringDesign+1 more |
| 209. Minimum Size Subarray Sum | Medium | ArrayBinary SearchSliding Window+1 more |
| 210. Course Schedule II | Medium | Depth-First SearchBreadth-First SearchGraph Theory+1 more |
| 211. Design Add and Search Words Data Structure | Medium | StringDepth-First SearchDesign+1 more |
| 212. Word Search II | Hard | ArrayStringBacktracking+2 more |
| 213. House Robber II | Medium | ArrayDynamic Programming |
| 214. Shortest Palindrome | Hard | StringRolling HashString Matching+1 more |
| 215. Kth Largest Element in an Array | Medium | ArrayDivide and ConquerSorting+2 more |
| 216. Combination Sum III | Medium | ArrayBacktracking |
| 217. Contains Duplicate | Easy | ArrayHash TableSorting |
| 218. The Skyline Problem | Hard | ArrayDivide and ConquerBinary Indexed Tree+5 more |
| 219. Contains Duplicate II | Easy | ArrayHash TableSliding Window |
| 220. Contains Duplicate III | Hard | ArraySliding WindowSorting+2 more |
| 221. Maximal Square | Medium | ArrayDynamic ProgrammingMatrix |
| 222. Count Complete Tree Nodes | Medium | Binary SearchBit ManipulationTree+1 more |
| 223. Rectangle Area | Medium | MathGeometry |
| 224. Basic Calculator | Hard | MathStringStack+1 more |
| 225. Implement Stack using Queues | Easy | StackDesignQueue |
| 226. Invert Binary Tree | Easy | TreeDepth-First SearchBreadth-First Search+1 more |
| 227. Basic Calculator II | Medium | MathStringStack |
| 228. Summary Ranges | Easy | Array |
| 229. Majority Element II | Medium | ArrayHash TableSorting+1 more |
| 230. Kth Smallest Element in a BST | Medium | TreeDepth-First SearchBinary Search Tree+1 more |
| 231. Power of Two | Easy | MathBit ManipulationRecursion |
| 232. Implement Queue using Stacks | Easy | StackDesignQueue |
| 233. Number of Digit One | Hard | MathDynamic ProgrammingRecursion |
| 234. Palindrome Linked List | Easy | Linked ListTwo PointersStack+1 more |
| 235. Lowest Common Ancestor of a Binary Search Tree | Medium | TreeDepth-First SearchBinary Search Tree+1 more |
| 236. Lowest Common Ancestor of a Binary Tree | Medium | TreeDepth-First SearchBinary Tree |
| 237. Delete Node in a Linked List | Medium | Linked List |
| 238. Product of Array Except Self | Medium | ArrayPrefix Sum |
| 239. Sliding Window Maximum | Hard | ArrayQueueSliding Window+2 more |
| 240. Search a 2D Matrix II | Medium | ArrayBinary SearchDivide and Conquer+1 more |
| 241. Different Ways to Add Parentheses | Medium | MathStringDynamic Programming+2 more |
| 242. Valid Anagram | Easy | Hash TableStringSorting |
| 243. Shortest Word DistancePremium | Easy | ArrayString |
| 244. Shortest Word Distance IIPremium | Medium | ArrayHash TableTwo Pointers+2 more |
| 245. Shortest Word Distance IIIPremium | Medium | ArrayString |
| 246. Strobogrammatic NumberPremium | Easy | Hash TableTwo PointersString |
| 247. Strobogrammatic Number IIPremium | Medium | ArrayStringRecursion |
| 248. Strobogrammatic Number IIIPremium | Hard | ArrayStringRecursion |
| 249. Group Shifted StringsPremium | Medium | ArrayHash TableString |
| 250. Count Univalue SubtreesPremium | Medium | TreeDepth-First SearchBinary Tree |