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, Two Pointers, String, Sliding Window | | 4 | Median of Two Sorted Arrays | Analyze | Hard | Array, Binary Search, Divide and Conquer | | 7 | Reverse Integer | Analyze | Easy | Math | | 9 | Palindrome Number | Analyze | Easy | Math | | 11 | Container With Most Water | Analyze | Medium | Array, Two Pointers | | 13 | Roman to Integer | Analyze | Easy | Math, String | | 14 | Longest Common Prefix | Analyze | Easy | String | | 15 | 3Sum | Analyze | Medium | Array, Two Pointers | | 16 | 3Sum Closest | Analyze | Medium | Array, Two Pointers | | 17 | Letter Combinations of a Phone Number | Analyze | Medium | Depth-first Search, Recursion, String, Backtracking | | 18 | 4Sum | Analyze | Medium | Array, Hash Table, Two Pointers | | 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, Backtracking | | 23 | Merge k Sorted Lists | Analyze | Hard | Heap, Linked List, Divide and Conquer | | 24 | Swap Nodes in Pairs | Analyze | Medium | Recursion, Linked List | | 25 | Reverse Nodes in k-Group | Analyze | Hard | 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 | | 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 | Hash Table | | 37 | Sudoku Solver | Analyze | Hard | Hash Table, Backtracking | | 38 | Count and Say | Analyze | Easy | String | | 39 | Combination Sum | Analyze | Medium | Array, Backtracking | | 40 | Combination Sum II | Analyze | Medium | Array, Backtracking | | 46 | Permutations | Analyze | Medium | Backtracking | | 47 | Permutations II | Analyze | Medium | Backtracking | | 48 | Rotate Image | Analyze | Medium | Array | | 49 | Group Anagrams | Analyze | Medium | Hash Table, String | | 50 | Pow(x, n) | Analyze | Medium | Math, Binary Search | | 51 | N-Queens | Analyze | Hard | Backtracking | | 52 | N-Queens II | Analyze | Hard | Backtracking | | 61 | Rotate List | Analyze | Medium | Linked List, Two Pointers | | 62 | Unique Paths | Analyze | Medium | Array, Dynamic Programming | | 64 | Minimum Path Sum | Analyze | Medium | Array, Dynamic Programming | | 66 | Plus One | Analyze | Easy | Array | | 67 | Add Binary | Analyze | Easy | Math, String | | 69 | Sqrt(x) | Analyze | Easy | Math, Binary Search | | 70 | Climbing Stairs | Analyze | Easy | Dynamic Programming | | 71 | Simplify Path | Analyze | Medium | Stack, String | | 75 | Sort Colors | Analyze | Medium | Sort, Array, Two Pointers | | 77 | Combinations | Analyze | Medium | Backtracking | | 78 | Subsets | Analyze | Medium | Bit Manipulation, Array, Backtracking | | 79 | Word Search | Analyze | Medium | Array, Backtracking | | 80 | Remove Duplicates from Sorted Array II | Analyze | Medium | Array, Two Pointers | | 82 | Remove Duplicates from Sorted List II | Analyze | Medium | Linked List | | 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 | | 89 | Gray Code | Analyze | Medium | Backtracking | | 90 | Subsets II | Analyze | Medium | Array, Backtracking | | 92 | Reverse Linked List II | Analyze | Medium | Linked List | | 93 | Restore IP Addresses | Analyze | Medium | String, Backtracking | | 94 | Binary Tree Inorder Traversal | Analyze | Medium | Stack, Tree, Hash Table | | 98 | Validate Binary Search Tree | Analyze | Medium | Tree, Depth-first Search, Recursion | | 100 | Same Tree | Analyze | Easy | Tree, Depth-first Search | | 101 | Symmetric Tree | Analyze | Easy | Tree, Depth-first Search, Breadth-first Search | | 102 | Binary Tree Level Order Traversal | Analyze | Medium | Tree, Breadth-first Search | | 103 | Binary Tree Zigzag Level Order Traversal | Analyze | Medium | Stack, Tree, Breadth-first Search | | 104 | Maximum Depth of Binary Tree | Analyze | Easy | Tree, Depth-first Search, Recursion | | 107 | Binary Tree Level Order Traversal II | Analyze | Medium | Tree, Breadth-first Search | | 108 | Convert Sorted Array to Binary Search Tree | Analyze | Easy | Tree, Depth-first Search | | 110 | Balanced Binary Tree | Analyze | Easy | Tree, Depth-first Search, Recursion | | 111 | Minimum Depth of Binary Tree | Analyze | Easy | Tree, Depth-first Search, Breadth-first Search | | 112 | Path Sum | Analyze | Easy | Tree, Depth-first Search | | 113 | Path Sum II | Analyze | Medium | Tree, Depth-first Search | | 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 | | 129 | Sum Root to Leaf Numbers | Analyze | Medium | Tree, Depth-first Search | | 130 | Surrounded Regions | Analyze | Medium | Depth-first Search, Breadth-first Search, Union Find | | 131 | Palindrome Partitioning | Analyze | Medium | Depth-first Search, Dynamic Programming, Backtracking | | 143 | Reorder List | Analyze | Medium | Linked List | | 144 | Binary Tree Preorder Traversal | Analyze | Medium | Stack, Tree | | 145 | Binary Tree Postorder Traversal | Analyze | Medium | Stack, Tree | | 147 | Insertion Sort List | Analyze | Medium | Sort, Linked List | | 148 | Sort List | Analyze | Medium | Sort, Linked List | | 149 | Max Points on a Line | Analyze | Hard | Hash Table, Math | | 150 | Evaluate Reverse Polish Notation | Analyze | Medium | Stack | | 151 | Reverse Words in a String | Analyze | Medium | String | | 167 | Two Sum II - Input array is sorted | Analyze | Easy | Array, Two Pointers, Binary Search | | 199 | Binary Tree Right Side View | Analyze | Medium | Tree, Depth-first Search, Breadth-first Search, Recursion, Queue | | 200 | Number of Islands | Analyze | Medium | Depth-first Search, Breadth-first Search, Union Find | | 202 | Happy Number | Analyze | Easy | Hash Table, Math | | 203 | Remove Linked List Elements | Analyze | Easy | Linked List | | 205 | Isomorphic Strings | Analyze | Easy | Hash Table | | 206 | Reverse Linked List | Analyze | Easy | Linked List | | 209 | Minimum Size Subarray Sum | Analyze | Medium | Array, Two Pointers, Binary Search | | 215 | Kth Largest Element in an Array | Analyze | Medium | Heap, Divide and Conquer | | 216 | Combination Sum III | Analyze | Medium | Array, Backtracking | | 217 | Contains Duplicate | Analyze | Easy | Array, Hash Table | | 219 | Contains Duplicate II | Analyze | Easy | Array, Hash Table | | 220 | Contains Duplicate III | Analyze | Medium | Sort, Ordered Map | | 222 | Count Complete Tree Nodes | Analyze | Medium | Tree, Binary Search | | 226 | Invert Binary Tree | Analyze | Easy | Tree | | 230 | Kth Smallest Element in a BST | Analyze | Medium | Tree, Binary Search | | 234 | Palindrome Linked List | Analyze | Easy | Linked List, Two Pointers | | 235 | Lowest Common Ancestor of a Binary Search Tree | Analyze | Easy | Tree | | 236 | Lowest Common Ancestor of a Binary Tree | Analyze | Medium | Tree | | 237 | Delete Node in a Linked List | Analyze | Easy | Linked List | | 242 | Valid Anagram | Analyze | Easy | Sort, Hash Table | | 257 | Binary Tree Paths | Analyze | Easy | Tree, Depth-first Search | | 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 | | 328 | Odd Even Linked List | Analyze | Medium | Linked List | | 341 | Flatten Nested List Iterator | Analyze | Medium | Stack, Design | | 343 | Integer Break | Analyze | Medium | Math, Dynamic Programming | | 344 | Reverse String | Analyze | Easy | Two Pointers, String | | 347 | Top K Frequent Elements | Analyze | Medium | Heap, Hash Table | | 349 | Intersection of Two Arrays | Analyze | Easy | Sort, Hash Table, Two Pointers, Binary Search | | 350 | Intersection of Two Arrays II | Analyze | Easy | Sort, Hash Table, Two Pointers, Binary Search | | 401 | Binary Watch | Analyze | Easy | Bit Manipulation, Backtracking | | 404 | Sum of Left Leaves | Analyze | Easy | Tree | | 417 | Pacific Atlantic Water Flow | Analyze | Medium | Depth-first Search, Breadth-first Search | | 437 | Path Sum III | Analyze | Medium | Tree | | 438 | Find All Anagrams in a String | Analyze | Medium | Hash Table | | 445 | Add Two Numbers II | Analyze | Medium | Linked List | | 447 | Number of Boomerangs | Analyze | Medium | Hash Table, Math | | 450 | Delete Node in a BST | Analyze | Medium | Tree | | 451 | Sort Characters By Frequency | Analyze | Medium | Heap, Hash Table | | 454 | 4Sum II | Analyze | Medium | Hash Table, Binary Search | | 567 | Permutation in String | Analyze | Medium | Two Pointers, Sliding Window |