The markdown table is generated by crd-leetcode-cli | # | Title | Explanation | Difficulty | Type | |:---:|:---:|:---:|:---:|:---:| | 1 | Two Sum | Analyze | Easy | Array, Hash Table | | 2 | Add Two Numbers | Analyze | Medium | Recursion, Linked List, Math | | 3 | Longest Substring Without Repeating Characters | Analyze | Medium | Hash Table, String, Sliding Window | | 4 | Median of Two Sorted Arrays | Analyze | Hard | Array, Binary Search, Divide and Conquer | | 7 | Reverse Integer | Analyze | Medium | Math | | 9 | Palindrome Number | Analyze | Easy | Math | | 11 | Container With Most Water | Analyze | Medium | Greedy, Array, Two Pointers | | 13 | Roman to Integer | Analyze | Easy | Hash Table, Math, String | | 14 | Longest Common Prefix | Analyze | Easy | String | | 15 | 3Sum | Analyze | Medium | Array, Two Pointers, Sorting | | 16 | 3Sum Closest | Analyze | Medium | Array, Two Pointers, Sorting | | 17 | Letter Combinations of a Phone Number | Analyze | Medium | Hash Table, String, Backtracking | | 18 | 4Sum | Analyze | Medium | Array, Two Pointers, Sorting | | 19 | Remove Nth Node From End of List | Analyze | Medium | Linked List, Two Pointers | | 20 | Valid Parentheses | Analyze | Easy | Stack, String | | 21 | Merge Two Sorted Lists | Analyze | Easy | Recursion, Linked List | | 22 | Generate Parentheses | Analyze | Medium | String, Dynamic Programming, Backtracking | | 23 | Merge k Sorted Lists | Analyze | Hard | Linked List, Divide and Conquer, Heap (Priority Queue), Merge Sort | | 24 | Swap Nodes in Pairs | Analyze | Medium | Recursion, Linked List | | 25 | Reverse Nodes in k-Group | Analyze | Hard | Recursion, Linked List | | 26 | Remove Duplicates from Sorted Array | Analyze | Easy | Array, Two Pointers | | 27 | Remove Element | Analyze | Easy | Array, Two Pointers | | 28 | Implement strStr() | Analyze | Easy | Two Pointers, String, String Matching | | 33 | Search in Rotated Sorted Array | Analyze | Medium | Array, Binary Search | | 35 | Search Insert Position | Analyze | Easy | Array, Binary Search | | 36 | Valid Sudoku | Analyze | Medium | Array, Hash Table, Matrix | | 37 | Sudoku Solver | Analyze | Hard | Array, Backtracking, Matrix | | 38 | Count and Say | Analyze | Medium | String | | 39 | Combination Sum | Analyze | Medium | Array, Backtracking | | 40 | Combination Sum II | Analyze | Medium | Array, Backtracking | | 46 | Permutations | Analyze | Medium | Array, Backtracking | | 47 | Permutations II | Analyze | Medium | Array, Backtracking | | 48 | Rotate Image | Analyze | Medium | Array, Math, Matrix | | 49 | Group Anagrams | Analyze | Medium | Hash Table, String, Sorting | | 50 | Pow(x, n) | Analyze | Medium | Recursion, Math | | 51 | N-Queens | Analyze | Hard | Array, Backtracking | | 52 | N-Queens II | Analyze | Hard | Backtracking | | 61 | Rotate List | Analyze | Medium | Linked List, Two Pointers | | 62 | Unique Paths | Analyze | Medium | Math, Dynamic Programming, Combinatorics | | 63 | Unique Paths II | Analyze | Medium | Array, Dynamic Programming, Matrix | | 64 | Minimum Path Sum | Analyze | Medium | Array, Dynamic Programming, Matrix | | 66 | Plus One | Analyze | Easy | Array, Math | | 67 | Add Binary | Analyze | Easy | Bit Manipulation, Math, String, Simulation | | 69 | Sqrt(x) | Analyze | Easy | Math, Binary Search | | 70 | Climbing Stairs | Analyze | Easy | Memoization, Math, Dynamic Programming | | 71 | Simplify Path | Analyze | Medium | Stack, String | | 75 | Sort Colors | Analyze | Medium | Array, Two Pointers, Sorting | | 77 | Combinations | Analyze | Medium | Array, Backtracking | | 78 | Subsets | Analyze | Medium | Bit Manipulation, Array, Backtracking | | 79 | Word Search | Analyze | Medium | Array, Backtracking, Matrix | | 80 | Remove Duplicates from Sorted Array II | Analyze | Medium | Array, Two Pointers | | 82 | Remove Duplicates from Sorted List II | Analyze | Medium | Linked List, Two Pointers | | 83 | Remove Duplicates from Sorted List | Analyze | Easy | Linked List | | 86 | Partition List | Analyze | Medium | Linked List, Two Pointers | | 88 | Merge Sorted Array | Analyze | Easy | Array, Two Pointers, Sorting | | 89 | Gray Code | Analyze | Medium | Bit Manipulation, Math, Backtracking | | 90 | Subsets II | Analyze | Medium | Bit Manipulation, Array, Backtracking | | 91 | Decode Ways | Analyze | Medium | String, Dynamic Programming | | 92 | Reverse Linked List II | Analyze | Medium | Linked List | | 93 | Restore IP Addresses | Analyze | Medium | String, Backtracking | | 94 | Binary Tree Inorder Traversal | Analyze | Easy | Stack, Tree, Depth-First Search, Binary Tree | | 98 | Validate Binary Search Tree | Analyze | Medium | Tree, Depth-First Search, Binary Search Tree, Binary Tree | | 100 | Same Tree | Analyze | Easy | Tree, Depth-First Search, Breadth-First Search, Binary Tree | | 101 | Symmetric Tree | Analyze | Easy | Tree, Depth-First Search, Breadth-First Search, Binary Tree | | 102 | Binary Tree Level Order Traversal | Analyze | Medium | Tree, Breadth-First Search, Binary Tree | | 103 | Binary Tree Zigzag Level Order Traversal | Analyze | Medium | Tree, Breadth-First Search, Binary Tree | | 104 | Maximum Depth of Binary Tree | Analyze | Easy | Tree, Depth-First Search, Breadth-First Search, Binary Tree | | 107 | Binary Tree Level Order Traversal II | Analyze | Medium | Tree, Breadth-First Search, Binary Tree | | 108 | Convert Sorted Array to Binary Search Tree | Analyze | Easy | Tree, Binary Search Tree, Array, Divide and Conquer, Binary Tree | | 110 | Balanced Binary Tree | Analyze | Easy | Tree, Depth-First Search, Binary Tree | | 111 | Minimum Depth of Binary Tree | Analyze | Easy | Tree, Depth-First Search, Breadth-First Search, Binary Tree | | 112 | Path Sum | Analyze | Easy | Tree, Depth-First Search, Breadth-First Search, Binary Tree | | 113 | Path Sum II | Analyze | Medium | Tree, Depth-First Search, Backtracking, Binary Tree | | 120 | Triangle | Analyze | Medium | Array, Dynamic Programming | | 121 | Best Time to Buy and Sell Stock | Analyze | Easy | Array, Dynamic Programming | | 125 | Valid Palindrome | Analyze | Easy | Two Pointers, String | | 127 | Word Ladder | Analyze | Hard | Breadth-First Search, Hash Table, String | | 129 | Sum Root to Leaf Numbers | Analyze | Medium | Tree, Depth-First Search, Binary Tree | | 130 | Surrounded Regions | Analyze | Medium | Depth-First Search, Breadth-First Search, Union Find, Array, Matrix | | 131 | Palindrome Partitioning | Analyze | Medium | String, Dynamic Programming, Backtracking | | 143 | Reorder List | Analyze | Medium | Stack, Recursion, Linked List, Two Pointers | | 144 | Binary Tree Preorder Traversal | Analyze | Easy | Stack, Tree, Depth-First Search, Binary Tree | | 145 | Binary Tree Postorder Traversal | Analyze | Easy | Stack, Tree, Depth-First Search, Binary Tree | | 147 | Insertion Sort List | Analyze | Medium | Linked List, Sorting | | 148 | Sort List | Analyze | Medium | Linked List, Two Pointers, Divide and Conquer, Sorting, Merge Sort | | 149 | Max Points on a Line | Analyze | Hard | Geometry, Array, Hash Table, Math | | 150 | Evaluate Reverse Polish Notation | Analyze | Medium | Stack, Array, Math | | 151 | Reverse Words in a String | Analyze | Medium | Two Pointers, String | | 167 | Two Sum II - Input Array Is Sorted | Analyze | Medium | Array, Two Pointers, Binary Search | | 198 | House Robber | Analyze | Medium | Array, Dynamic Programming | | 199 | Binary Tree Right Side View | Analyze | Medium | Tree, Depth-First Search, Breadth-First Search, Binary Tree | | 200 | Number of Islands | Analyze | Medium | Depth-First Search, Breadth-First Search, Union Find, Array, Matrix | | 202 | Happy Number | Analyze | Easy | Hash Table, Math, Two Pointers | | 203 | Remove Linked List Elements | Analyze | Easy | Recursion, Linked List | | 205 | Isomorphic Strings | Analyze | Easy | Hash Table, String | | 206 | Reverse Linked List | Analyze | Easy | Recursion, Linked List | | 209 | Minimum Size Subarray Sum | Analyze | Medium | Array, Binary Search, Prefix Sum, Sliding Window | | 213 | House Robber II | Analyze | Medium | Array, Dynamic Programming | | 215 | Kth Largest Element in an Array | Analyze | Medium | Array, Divide and Conquer, Quickselect, Sorting, Heap (Priority Queue) | | 216 | Combination Sum III | Analyze | Medium | Array, Backtracking | | 217 | Contains Duplicate | Analyze | Easy | Array, Hash Table, Sorting | | 219 | Contains Duplicate II | Analyze | Easy | Array, Hash Table, Sliding Window | | 220 | Contains Duplicate III | Analyze | Medium | Array, Bucket Sort, Ordered Set, Sorting, Sliding Window | | 222 | Count Complete Tree Nodes | Analyze | Medium | Tree, Depth-First Search, Binary Search, Binary Tree | | 226 | Invert Binary Tree | Analyze | Easy | Tree, Depth-First Search, Breadth-First Search, Binary Tree | | 230 | Kth Smallest Element in a BST | Analyze | Medium | Tree, Depth-First Search, Binary Search Tree, Binary Tree | | 234 | Palindrome Linked List | Analyze | Easy | Stack, Recursion, Linked List, Two Pointers | | 235 | Lowest Common Ancestor of a Binary Search Tree | Analyze | Easy | Tree, Depth-First Search, Binary Search Tree, Binary Tree | | 236 | Lowest Common Ancestor of a Binary Tree | Analyze | Medium | Tree, Depth-First Search, Binary Tree | | 237 | Delete Node in a Linked List | Analyze | Easy | Linked List | | 242 | Valid Anagram | Analyze | Easy | Hash Table, String, Sorting | | 257 | Binary Tree Paths | Analyze | Easy | Tree, Depth-First Search, String, Backtracking, Binary Tree | | 279 | Perfect Squares | Analyze | Medium | Breadth-First Search, Math, Dynamic Programming | | 283 | Move Zeroes | Analyze | Easy | Array, Two Pointers | | 290 | Word Pattern | Analyze | Easy | Hash Table, String | | 309 | Best Time to Buy and Sell Stock with Cooldown | Analyze | Medium | Array, Dynamic Programming | | 328 | Odd Even Linked List | Analyze | Medium | Linked List | | 337 | House Robber III | Analyze | Medium | Tree, Depth-First Search, Dynamic Programming, Binary Tree | | 341 | Flatten Nested List Iterator | Analyze | Medium | Stack, Tree, Depth-First Search, Design, Queue, Iterator | | 343 | Integer Break | Analyze | Medium | Math, Dynamic Programming | | 344 | Reverse String | Analyze | Easy | Recursion, Two Pointers, String | | 347 | Top K Frequent Elements | Analyze | Medium | Array, Hash Table, Divide and Conquer, Bucket Sort, Counting, Quickselect, Sorting, Heap (Priority Queue) | | 349 | Intersection of Two Arrays | Analyze | Easy | Array, Hash Table, Two Pointers, Binary Search, Sorting | | 350 | Intersection of Two Arrays II | Analyze | Easy | Array, Hash Table, Two Pointers, Binary Search, Sorting | | 401 | Binary Watch | Analyze | Easy | Bit Manipulation, Backtracking | | 404 | Sum of Left Leaves | Analyze | Easy | Tree, Depth-First Search, Breadth-First Search, Binary Tree | | 416 | Partition Equal Subset Sum | Analyze | Medium | Array, Dynamic Programming | | 417 | Pacific Atlantic Water Flow | Analyze | Medium | Depth-First Search, Breadth-First Search, Array, Matrix | | 437 | Path Sum III | Analyze | Medium | Tree, Depth-First Search, Binary Tree | | 438 | Find All Anagrams in a String | Analyze | Medium | Hash Table, String, Sliding Window | | 445 | Add Two Numbers II | Analyze | Medium | Stack, Linked List, Math | | 447 | Number of Boomerangs | Analyze | Medium | Array, Hash Table, Math | | 450 | Delete Node in a BST | Analyze | Medium | Tree, Binary Search Tree, Binary Tree | | 451 | Sort Characters By Frequency | Analyze | Medium | Hash Table, String, Bucket Sort, Counting, Sorting, Heap (Priority Queue) | | 454 | 4Sum II | Analyze | Medium | Array, Hash Table | | 567 | Permutation in String | Analyze | Medium | Hash Table, Two Pointers, String, Sliding Window |