| Websites | 
|---|
| https://www.python.org/doc/ (Documentation Releases by Version) | 
| https://www.python.org/downloads/ (Download the latest source release) | 
| https://docs.python.org/3/tutorial/ (The Python Tutorial) | 
| https://www.python.org/about/gettingstarted/ (Python For Beginners) | 
| https://docs.python.org/3/library/ (The Python Standard Library) | 
| https://wiki.python.org/moin/PythonPeriodicals (PythonPeriodicals) | 
| https://packaging.python.org/ (Python Packaging User Guide) | 
| https://pyvideo.org/ (Python related videos) | 
| https://docs.python.org/3/ (Python 3.8.6rc1 documentation) | 
| Important | 
|---|
| Python is an interpreted, high-level and general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace. | 
| Typing discipline: Duck, dynamic, gradual (since 3.5) | 
| Designed by: Guido van Rossum | 
| OS: Linux, macOS, Windows Vista (and newer) and more | 
| Filename extensions: .py,.pyi,.pyc,.pyd,.pyo (prior to 3.5),.pyw,.pyz (since 3.5) | 
| # | Title | Solution | Difficulty | Tag | 
|---|---|---|---|---|
| 1 | Two Sum | C++ | Easy | Array / Hash Table | 
| 2 | Add Two Numbers | C++ | Medium | Linked List | 
| 3 | Longest Substring Without Repeating Characters | C++ | Medium | Hash Table / Two Pointers | 
| 4 | Median of Two Sorted Arrays | C++ | Hard | Array / Binary Search | 
| 5 | Longest Palindromic Substring | C++ | Medium | String | 
| 6 | ZigZag Conversion | C++ | Medium | String | 
| 7 | Reverse Integer | C++ | Easy | Math | 
| 8 | String to Integer (atoi) | C++ | Medium | String | 
| 9 | Palindrome Number | C++ | Easy | Math | 
| 10 | Regular Expression Matching | C++ | Hard | String / Dynamic Programming / Backtracking | 
| 11 | Container With Most Water | C++ | Medium | Array / Two Pointers | 
| 12 | Integer to Roman | C++ | Medium | String | 
| 13 | Roman to Integer | C++ | Easy | String | 
| 14 | Longest Common Prefix | C++ | Easy | String | 
| 15 | 3Sum | C++ | Medium | Array / Two Pointers | 
| 16 | 3Sum Closest | C++ | Medium | Array / Two Pointers | 
| 17 | Letter Combinations of a Phone Number | C++ | Medium | Backtracking / String | 
| 18 | 4Sum | C++ | Medium | Array | 
| 19 | Remove Nth Node From End of List | C++ | Medium | Linked List / Two Pointers | 
| 20 | Valid Parentheses | C++ | Easy | Stack | 
| 21 | Merge Two Sorted Lists | C++ | Easy | Linked List | 
| 22 | Generate Parentheses | C++ | Medium | String / Backtracking | 
| 23 | Merge k Sorted Lists | C++ | Hard | Linked List / Heap | 
| 24 | Swap Nodes in Pairs | C++ | Medium | Linked List | 
| 25 | Reverse Nodes in k-Group | C++ | Hard | Linked List | 
| 26 | Remove Duplicates from Sorted Array | C++ | Easy | Array / Two Pointers | 
| 27 | Remove Element | C++ | Easy | Array / Two Pointers | 
| 28 | Implement strStr() | C++ | Easy | String | 
| 29 | Implement strStr() | C++ | Easy | String | 
| 31 | Next Permutation | C++ | Medium | Array | 
| 33 | Search in Rotated Sorted Array | C++ | Medium | Array / Binary Search | 
| 34 | Search for a Range | C++ | Medium | Array / Binary Search | 
| 35 | Search Insert Position | C++ | Easy | Array / Binary Search | 
| 36 | Valid Sudoku | C++ | Medium | Hash Table | 
| 37 | Sudoku Solver | C++ | Medium | Hash Table | 
| 38 | Count and Say | C++ | Easy | String | 
| 39 | Combination Sum | C++ | Medium | Array / Backtracking | 
| 40 | Combination Sum II | C++ | Medium | Array / Backtracking | 
| 41 | First Missing Positive | C++ | Hard | Array | 
| 42 | Trapping Rain Water | C++ | Hard | Array / Two Pointers / Stack | 
| 43 | Multiply Strings | C++ | Medium | String | 
| 44 | Wildcard Matching | C++ | Hard | String / Backtracking / Greedy | 
| 45 | Jump Game II | C++ | Hard | Array / Greedy | 
| 46 | Permutations | C++ | Medium | Backtracking | 
| 47 | Permutations II | C++ | Medium | Backtracking | 
| 48 | Rotate Image | C++ | Medium | Matrix | 
| 49 | Group Anagrams | C++ | Medium | Hash Table / String | 
| 50 | Pow(x, n) | C++ | Medium | Binary Search | 
| 51 | Pow(x, n) | C++ | Medium | Binary Search | 
| 52 | Pow(x, n) | C++ | Medium | Binary Search | 
| 53 | Maximum Subarray | C++ | Easy | Dynamic Programming / Array | 
| 54 | Spiral Matrix | C++ | Medium | Array | 
| 55 | Jump Game | C++ | Medium | Array / Greedy | 
| 56 | Merge Intervals | C++ | Medium | Array / Sort | 
| 57 | Insert Interval | C++ | Hard | Array / Sort | 
| 58 | Length of Last Word | C++ | Easy | String | 
| 59 | Spiral Matrix II | C++ | Medium | Array | 
| 60 | Permutation Sequence | C++ | Medium | Backtracking / Math | 
| 61 | Rotate List | C++ | Medium | Linked List / Two Pointers | 
| 62 | Unique Paths | C++ | Medium | Array / Dynamic Programming | 
| 63 | Unique Paths II | C++ | Medium | Array / Dynamic Programming | 
| 64 | Minimum Path Sum | C++ | Medium | Array / Dynamic Programming | 
| 65 | Valid Number | C++ | Medium | Array / Dynamic Programming | 
| 66 | Plus One | C++ | Easy | Array / Math | 
| 67 | Add Binary | C++ | Easy | String | 
| 68 | Text Justification | C++ | Hard | String | 
| 69 | Sqrt(x) | C++ | Easy | Binary Search / Math | 
| 70 | Climbing Stairs | C++ | Easy | Dynamic Programming | 
| 71 | Simplify Path | C++ | Medium | Stack / String | 
| 72 | Edit Distance | C++ | Medium | Stack / String | 
| 73 | Set Matrix Zeroes | C++ | Medium | Array | 
| 74 | Search a 2D Matrix | C++ | Medium | Array / Binary Search | 
| 75 | Sort Colors | C++ | Medium | Array / Two Pointers | 
| 76 | Minimum Window Substring | C++ | Hard | Hash Table / Two pointers / String | 
| 78 | Subsets | C++ | Medium | Array / Backtracking | 
| 79 | Word Search | C++ | Medium | Matrix / Backtracking | 
| 80 | Remove Duplicates from Sorted Array II | C++ | Medium | Array / Two Pointers | 
| 82 | Remove Duplicates from Sorted List II | C++ | Medium | Linked List | 
| 83 | Remove Duplicates from Sorted List | C++ | Easy | Linked List | 
| 84 | Largest Rectangle in Histogram | C++ | Hard | Array | 
| 85 | Maximal Rectangle | C++ | Hard | Array | 
| 86 | Partition List | C++ | Medium | Linked List | 
| 88 | Merge Sorted Array | C++ | Easy | Array / Two Pointers | 
| 90 | Subsets II | C++ | Medium | Array / Backtracking | 
| 91 | Decode Ways | C++ | Medium | Dynamic Programming / String | 
| 92 | Reverse Linked List II | C++ | Medium | Linked List | 
| 94 | Binary Tree Inorder Traversal | C++ | Medium | Tree / Stack | 
| 95 | Unique Binary Search Trees II | C++ | Medium | Tree | 
| 96 | Unique Binary Search Trees | C++ | Hard | Tree / DFS | 
| 97 | Interleaving String | C++ | Hard | Tree / DFS | 
| 98 | Validate Binary Search Tree | C++ | Medium | Tree | 
| 99 | Recover Binary Search Tree | C++ | Hard | Tree / DFS | 
| 100 | Same Tree | C++ | Easy | Tree / DFS | 
| 101 | Symmetric Tree | C++ | Easy | Tree | 
| 102 | Binary Tree Level Order Traversal | C++ | Medium | Tree / DFS / BFS | 
| 103 | Binary Tree Zigzag Level Order Traversal | C++ | Medium | Tree / BFS | 
| 104 | Maximum Depth of Binary Tree | C++ | Easy | Tree | 
| 105 | Construct Binary Tree from Preorder and Inorder Traversal | C++ | Medium | Array / Tree / DFS | 
| 106 | Construct Binary Tree from Inorder and Postorder Traversal | C++ | Medium | Linked List / DFS | 
| 107 | Binary Tree Level Order Traversal II | C++ | Easy | Tree | 
| 108 | Convert Sorted Array to Binary Search Tree | C++ | Easy | Tree / DFS | 
| 109 | Convert Sorted List to Binary Search Tree | C++ | Medium | Linked List / DFS | 
| 110 | Balanced Binary Tree | C++ | Easy | Tree / DFS | 
| 111 | Minimum Depth of Binary Tree | C++ | Easy | Tree | 
| 112 | Path Sum | C++ | Easy | Tree / DFS | 
| 113 | Path Sum II | C++ | Medium | Tree / DFS | 
| 114 | Flatten Binary Tree to Linked List | C++ | Medium | Tree / DFS | 
| 116 | Populating Next Right Pointers in Each Node | C++ | Medium | Tree / BFS | 
| 117 | Populating Next Right Pointers in Each Node II | C++ | Medium | Tree / Level-order Traversal | 
| 118 | Pascal's Triangle | C++ | Easy | Array | 
| 119 | Pascal's Triangle II | C++ | Easy | Array | 
| 120 | Triangle | C++ | Medium | Array / Dynamic Programming | 
| 121 | Best Time to Buy and Sell Stock | C++ | Easy | Array / Dynamic Programming | 
| 122 | Best Time to Buy and Sell Stock | C++ | Hard | Tree / DFS | 
| 123 | Best Time to Buy and Sell Stock | C++ | Hard | Tree / DFS | 
| 124 | Binary Tree Maximum Path Sum | C++ | Hard | Tree / DFS | 
| 125 | Valid Palindrome | C++ | Easy | String / Two Pointers | 
| 126 | Word Ladder | C++ | Hard | Array / Unoin Find | 
| 127 | Word Ladder | C++ | Medium | String / BFS | 
| 128 | Longest Consecutive Sequence | C++ | Hard | Array / Unoin Find | 
| 129 | Sum Root to Leaf Numbers | C++ | Medium | Tree / DFS / BFS | 
| 130 | Surrounded Regions | C++ | Medium | DFS / BFS / Union Find | 
| 131 | Palindrome Partitioning | C++ | Medium | Backtracking | 
| 132 | Palindrome Partitioning | C++ | Easy | Bit Manipulation | 
| 133 | Clone Graph | C++ | Medium | Graph / DFS / BFS | 
| 134 | Gas Station | C++ | Medium | Greedy | 
| 136 | Single Number | C++ | Easy | Bit Manipulation | 
| 137 | Single Numberll | C++ | Medium | Dynamic Programming | 
| 138 | Copy List with Random Pointer | C++ | Medium | Hash Table / Linked List | 
| 139 | Word Break | C++ | Medium | Dynamic Programming | 
| 140 | Word BreakII | C++ | Medium | Dynamic Programming | 
| 141 | Linked List Cycle | C++ | Easy | Linked List / Two Pointers | 
| 142 | Linked List Cycle II | C++ | Medium | Linked List / Two Pointers | 
| 143 | Reorder List | C++ | Medium | Linked List | 
| 144 | Binary Tree Preorder Traversal | C++ | Medium | Tree / Stack | 
| 145 | Binary Tree Postorder Traversal | C++ | Hard | Tree / Stack | 
| 146 | LRU Cache | C++ | Hard | Design | 
| 147 | Insertion Sort List | C++ | Easy | Stack / Design | 
| 148 | Sort List | C++ | Easy | Stack / Design | 
| 149 | Max Points on a Line | C++ | Easy | Stack / Design | 
| 151 | Reverse Words in a String | C++ | Medium | String | 
| 152 | Maximum Product Subarray | C++ | Hard | String / Two Pointers | 
| 153 | Find Minimum in Rotated Sorted Array | C++ | Hard | String / Two Pointers | 
| 154 | Find Minimum in Rotated Sorted Array | C++ | Hard | String / Two Pointers | 
| 155 | Min Stack | C++ | Easy | Stack / Design | 
| 157 | Read N Characters Given Read4 | C++ | Easy | String | 
| 158 | Read N Characters Given Read4 II - Call multiple times | C++ | Hard | String | 
| 159 | Longest Substring with At Most Two Distinct Characters | C++ | Hard | String / Two Pointers | 
| 160 | Intersection of Two Linked Lists | C++ | Medium | String | 
| 161 | One Edit Distance | C++ | Medium | String | 
| 162 | Find Peak Element | C++ | Medium | Binary Search | 
| 163 | Missing Ranges | C++ | Medium | Array | 
| 168 | Excel Sheet Column Title | C++ | Easy | Math | 
| 169 | Majority Element | C++ | Easy | Array | 
| 171 | Excel Sheet Column Number | C++ | Easy | Math | 
| 173 | Binary Search Tree Iterator | C++ | Medium | Tree / Stack / Design | 
| 186 | Reverse Words in a String II | C++ | Medium | String | 
| 191 | Number of 1 Bits | C++ | Easy | Bit Manipulation | 
| 198 | House Robber | C++ | Easy | Dynamic Programming | 
| 200 | Number of Islands | C++ | Medium | BFS / Union Find | 
| 205 | Isomorphic Strings | C++ | Easy | Hash Table | 
| 206 | Reverse Linked List | C++ | Easy | Linked List | 
| 207 | Course Schedule | C++ | Medium | Graph / BFS / Topological Sort | 
| 208 | Implement Trie (Prefix Tree) | C++ | Medium | Trie / Design | 
| 209 | Minimum Size Subarray Sum | C++ | Medium | Array / Two Pointers | 
| 210 | Course Schedule II | C++ | Medium | Graph / BFS / Topological Sort | 
| 211 | Add and Search Word - Data structure design | C++ | Medium | Design / Trie | 
| 212 | Word Search II | C++ | Hard | Backtracking / Trie | 
| 214 | Shortest Palindrome | C++ | Hard | String | 
| 215 | Kth Largest Element in an Array | C++ | Medium | Sort / Partition | 
| 221 | Maximal Square | C++ | Medium | Dynamic Programming / BFS | 
| 223 | Rectangle Area | C++ | Medium | Math | 
| 224 | Basic Calculator | C++ | Hard | String / Stack | 
| 226 | Invert Binary Tree | C++ | Easy | Tree | 
| 227 | Basic Calculator II | C++ | Medium | String | 
| 228 | Summary Ranges | C++ | Medium | Array | 
| 229 | Majority Element II | C++ | Medium | Array | 
| 230 | Kth Smallest Element in a BST | C++ | Medium | Tree | 
| 231 | Power of Two | C++ | Easy | Bit Manipulation | 
| 234 | Palindrome Linked List | C++ | Easy | Linked List / Two Pointers | 
| 235 | Lowest Common Ancestor of a Binary Search Tree | C++ | Easy | Tree | 
| 236 | Lowest Common Ancestor of a Binary Tree | C++ | Medium | Tree | 
| 238 | Product of Array Except Self | C++ | Medium | Array | 
| 239 | Sliding Window Maximum | C++ | Hard | Heap | 
| 240 | Search a 2D Matrix II | C++ | Medium | Binary Search / Divide and Conquer | 
| 244 | Shortest Word Distance II | C++ | Medium | Hash Table / Design | 
| 246 | Strobogrammatic Number | C++ | Easy | Hash Table / Math | 
| 247 | Strobogrammatic Number II | C++ | Medium | Math / Recursion | 
| 249 | Group Shifted Strings | C++ | Medium | String | 
| 251 | Flatten 2D Vector | C++ | Medium | Design | 
| 252 | Meeting Rooms | C++ | Easy | Sort | 
| 253 | Meeting Rooms II | C++ | Medium | Heap / Sort | 
| 255 | Verify Preorder Sequence in Binary Search Tree | C++ | Medium | Stack / Tree | 
| 257 | Binary Tree Paths | C++ | Easy | Tree / DFS / BFS | 
| 258 | Add Digits | C++ | Easy | Math | 
| 259 | 3Sum Smaller | C++ | Medium | Array / Two Pointers | 
| 261 | Graph Valid Tree | C++ | Medium | Graph / BFS / DFS / Union Find | 
| 263 | Ugly Number | C++ | Easy | Math | 
| 264 | Ugly Number II | C++ | Medium | Dynamic Programming / Math | 
| 266 | Palindrome Permutation | C++ | Easy | Hash Table | 
| 267 | Palindrome Permutation II | C++ | Medium | Backtracking | 
| 268 | Missing Number | C++ | Easy | Array / Bit Manipulation | 
| 269 | Alien Dictionary | C++ | Hard | Graph / Topological Sort | 
| 270 | Closest Binary Search Tree Value | C++ | Easy | Tree / Binary Search | 
| 271 | Encode and Decode Strings | C++ | Medium | String / Design | 
| 272 | Closest Binary Search Tree Value II | C++ | Hard | Tree / Stack | 
| 273 | Integer to English Words | C++ | Hard | String | 
| 274 | H-Index | C++ | Medium | Sort | 
| 275 | H-Index II | C++ | Medium | Binary Search | 
| 276 | Paint Fence | C++ | Easy | Dynamic Programming | 
| 277 | Find the Celebrity | C++ | Medium | Array | 
| 278 | First Bad Version | C++ | Easy | Binary Search | 
| 279 | Perfect Squares | C++ | Medium | Math / Dynamic Programming | 
| 280 | Wiggle Sort | C++ | Easy | Array | 
| 281 | Zigzag Iterator | C++ | Medium | Design | 
| 282 | Expression Add Operators | C++ | Hard | Divide and Conquer | 
| 283 | Move Zeroes | C++ | Easy | Array / Two Pointers | 
| 284 | Peeking Iterator | C++ | Medum | Design | 
| 285 | Inorder Successor in BST | C++ | Medium | Tree | 
| 286 | Walls and Gates | C++ | Medium | BFS | 
| 289 | Game of Life | C++ | Medium | Array | 
| 290 | Word Pattern | C++ | Easy | Hash Table | 
| 293 | Flip Game | C++ | Easy | String | 
| 294 | Flip Game II | C++ | Medium | Backtracking | 
| 295 | Find Median from Data Stream | C++ | Hard | Heap / Design | 
| 297 | Serialize and Deserialize Binary Tree | C++ | Hard | Tree / Design | 
| 298 | Binary Tree Longest Consecutive Sequence | C++ | Medium | Tree | 
| 300 | Longest Increasing Subsequence | C++ | Medium | Binary Search / Dynamic Programming | 
| 301 | Remove Invalid Parentheses | C++ | Hard | Backtracking / DFS / BFS | 
| 303 | Range Sum Query - Immutable | C++ | Easy | Dynamic Programming | 
| 304 | Range Sum Query 2D - Immutable | C++ | Medium | Dynamic Programming | 
| 305 | Number of Islands II | C++ | Hard | Union Find | 
| 307 | Range Sum Query - Mutable | C++ | Medium | Segment Tree | 
| 309 | Best Time to Buy and Sell Stock with Cooldown | C++ | Medium | Dynamic Programming | 
| 310 | Minimum Height Trees | C++ | Medium | BFS/ Graph | 
| 311 | Sparse Matrix Multiplication | C++ | Medium | Matrix | 
| 313 | Super Ugly Number | C++ | Medium | Dynamic Programming / Math | 
| 314 | Binary Tree Vertical Order Traversal | C++ | Medium | BFS | 
| 315 | Count of Smaller Numbers After Self | C++ | Hard | Divide and Conqur / Binary Search Tree | 
| 317 | Shortest Distance from All Buildings | C++ | Hard | BFS | 
| 318 | Maximum Product of Word Lengths | C++ | Medium | Bit Manipulation | 
| 323 | Number of Connected Components in an Undirected Graph | C++ | Medium | Graph / Union Find / BFS / DFS | 
| 325 | Maximum Size Subarray Sum Equals k | C++ | Medium | Array / Hash Table | 
| 329 | Longest Increasing Path in a Matrix | C++ | Hard | DFS / Memorization | 
| 331 | Verify Preorder Serialization of a Binary Tree | C++ | Medium | Stack | 
| 332 | Reconstruct Itinerary | C++ | Medium | Graph / DFS | 
| 333 | Largest BST Subtree | C++ | Medium | Tree | 
| 334 | Increasing Triplet Subsequence | C++ | Medium | Array | 
| 336 | Palindrome Pairs | C++ | Hard | Hash Table / String / Trie | 
| 339 | Nested List Weight Sum | C++ | Easy | DFS | 
| 340 | Longest Substring with At Most K Distinct Characters | C++ | Hard | Hash Table / String | 
| 341 | Flatten Nested List Iterator | C++ | Medium | Stack / Design | 
| 344 | Reverse String | C++ | Easy | String | 
| 347 | Top K Frequent Elements | C++ | Medium | Hash Table / Heap | 
| 348 | Design Tic-Tac-Toe | C++ | Medium | Design | 
| 351 | Android Unlock Patterns | C++ | Medium | DFS / Dynamic Programming | 
| 354 | Russian Doll Envelopes | C++ | Hard | Binary Search / Dynamic Programming | 
| 355 | Design Twitter | C++ | Medium | Hash Table / Design | 
| 359 | Logger Rate Limiter | C++ | Easy | Hash Table / Design | 
| 360 | Sort Transformed Array | C++ | Medium | Math / Two Pointers | 
| 361 | Bomb Enemy | C++ | Medium | Dynamic Programming | 
| 362 | Design Hit Counter | C++ | Medium | Design | 
| 364 | Nested List Weight Sum II | C++ | Medium | DFS | 
| 369 | Plus One Linked List | C++ | Medium | Linked List | 
| 373 | Find K Pairs with Smallest Sums | C++ | Medium | Heap | 
| 377 | Combination Sum IV | C++ | Medium | Dynamic Programming | 
| 378 | Kth Smallest Element in a Sorted Matrix | C++ | Medium | Binary Search / Heap | 
| 380 | Insert Delete GetRandom O(1) | C++ | Medium | Hash Table / Design | 
| 382 | Linked List Random Node | C++ | Medium | Reservoir Sampling | 
| 394 | Decode String | C++ | Medium | String / DFS | 
| 398 | Random Pick Index | C++ | Medium | Reservoir Sampling | 
| 399 | Evaluate Division | C++ | Medium | Graph | 
| 402 | Remove K Digits | C++ | Medium | Greedy | 
| 404 | Sum of Left Leaves | C++ | Easy | Tree | 
| 408 | Valid Word Abbreviation | C++ | Easy | String | 
| 409 | Longest Palindrome | C++ | Easy | Hash Table | 
| 411 | Minimum Unique Word Abbreviation | C++ | Hard | Backtracking | 
| 412 | Fizz Buzz | C++ | Easy | Array | 
| 416 | Partition Equal Subset Sum | C++ | Medium | Dynamic Programming | 
| 417 | Pacific Atlantic Water Flow | C++ | Medium | DFS / BFS | 
| 418 | Sentence Screen Fitting | C++ | Medium | Dynamic Programming | 
| 433 | Minimum Genetic Mutation | C++ | Medium | BFS | 
| 435 | Non-overlapping Intervals | C++ | Medium | Greedy | 
| 436 | Find Right Interval | C++ | Medium | Array / Binary Search | 
| 438 | Find All Anagrams in a String | C++ | Easy | Hash Table | 
| 441 | Arranging Coins | C++ | Easy | Math | 
| 444 | Sequence Reconstruction | C++ | Medium | Graph / Topological Sort | 
| 450 | Delete Node in a BST | C++ | Medium | Tree | 
| 451 | Sort Characters By Frequency | C++ | Medium | Hash Table / Heap | 
| 461 | Hamming Distance | C++ | Easy | Bit Manipulation | 
| 467 | Unique Substrings in Wraparound String | C++ | Medium | Dynamic Programming | 
| 473 | Matchsticks to Square | C++ | Medium | DFS | 
| 477 | Total Hamming Distance | C++ | Medium | Bit Manipulation | 
| 482 | License Key Formatting | C++ | Medium | Array | 
| 484 | Find Permutation | C++ | Medium | Greedy | 
| 486 | Predict the Winner | C++ | Medium | Dynamic Programming / Minimax | 
| 487 | Max Consecutive Ones II | C++ | Medium | Two Pointers | 
| 489 | Robot Room Cleaner | C++ | Hard | DFS | 
| 490 | The Maze | C++ | Medium | BFS / DFS | 
| 494 | Target Sum | C++ | Medium | Backtracking | 
| 496 | Next Greater Element I | C++ | Easy | Stack | 
| 498 | Diagonal Traverse | C++ | Medium | Matrix | 
| 499 | The Maze III | C++ | Hard | DFS / BFS | 
| 503 | Next Greater Element II | C++ | Medium | Stack | 
| 505 | The Maze II | C++ | Medium | DFS / BFS | 
| 508 | Most Frequent Subtree Sum | C++ | Medium | Tree / Hash Table | 
| 513 | Find Bottom Left Tree Value | C++ | Medium | Tree / BFS / DFS | 
| 515 | Find Largest Value in Each Tree Row | C++ | Medium | Tree / BFS / DFS | 
| 523 | Continuous Subarray Sum | C++ | Medium | Dynamic Programming | 
| 524 | Longest Word in Dictionary through Deleting | C++ | Medium | Two Pointers | 
| 525 | Contiguous Array | C++ | Medium | Hash Table | 
| 531 | Lonely Pixel I | C++ | Medium | Array / DFS | 
| 535 | Encode and Decode TinyURL | C++ | Medium | String | 
| 536 | Construct Binary Tree from String | C++ | Medium | String / Tree | 
| 538 | Convert BST to Greater Tree | C++ | Easy | DFS | 
| 540 | Single Element in a Sorted Array | C++ | Medium | Array / Binary Search | 
| 541 | Reverse String II | C++ | Easy | String | 
| 542 | 01 Matrix | C++ | Medium | BFS / DFS | 
| 543 | Diameter of Binary Tree | C++ | Easy | Tree | 
| 547 | Friend Circles | C++ | Medium | DFS / Union Find | 
| 549 | Binary Tree Longest Consecutive Sequence II | C++ | Medium | Tree | 
| 554 | Brick Wall | C++ | Medium | Hash Table | 
| 556 | Next Greater Element III | C++ | Medium | String | 
| 560 | Subarray Sum Equals K | C++ | Medium | Array / Map | 
| 562 | Longest Line of Consecutive One in Matrix | C++ | Medium | Array | 
| 565 | Array Nesting | C++ | Medium | Array | 
| 566 | Reshape the Matrix | C++ | Easy | Array | 
| 567 | Permutation in String | C++ | Medium | Two Pointers | 
| 572 | Subtree of Another Tree | C++ | Easy | Tree | 
| 582 | Kill Process | C++ | Medium | Tree / BFS / DFS | 
| 583 | Delete Operation for Two Strings | C++ | Medium | Dynamic Programming | 
| 599 | Minimum Index Sum of Two Lists | C++ | Easy | Hash Table | 
| 606 | Construct String from Binary Tree | C++ | Easy | Tree / String | 
| 611 | Valid Triangle Number | C++ | Medium | Array | 
| 616 | Add Bold Tag in String | C++ | Medium | String | 
| 621 | Task Scheduler | C++ | Medium | Array / Queue | 
| 632 | Smallest Range | C++ | Hard | Two Pointers | 
| 633 | Sum of Square Numbers | C++ | Easy | Math | 
| 635 | Design Log Storage System | C++ | Medium | String / Design | 
| 636 | Exclusive Time of Functions | C++ | Medium | Stack | 
| 637 | Average of Levels in Binary Tree | C++ | Easy | BFS | 
| 639 | Decode Ways II | C++ | Hard | Dynamic Programming | 
| 642 | Design Search Autocomplete System | C++ | Hard | Design / Trie | 
| 643 | Maximum Average Subarray I | C++ | Easy | Array | 
| 645 | Set Mismatch | C++ | Easy | Hash Table / Math | 
| 647 | Palindromic Substrings | C++ | Medium | String | 
| 648 | Replace Words | C++ | Medium | Hash Table / Trie | 
| 652 | Find Duplicate Subtrees | C++ | Medium | Tree | 
| 653 | Two Sum IV - Input is a BST | C++ | Easy | DFS | 
| 654 | Maximum Binary Tree | C++ | Medium | Tree | 
| 657 | Judge Route Circle | C++ | Easy | String | 
| 658 | Find K Closest Elements | C++ | Medium | Binary Search | 
| 659 | Split Array into Consecutive Subsequences | C++ | Medium | Greedy | 
| 662 | Maximum Width of Binary Tree | C++ | Medium | Tree / BFS / DFS | 
| 663 | Equal Tree Partition | C++ | Medium | Tree | 
| 665 | Non-decreasing Array | C++ | Easy | Array | 
| 669 | Trim a Binary Search Tree | C++ | Easy | Tree | 
| 670 | Maximum Swap | C++ | Medium | Array / Math | 
| 671 | Second Minimum Node In a Binary Tree | C++ | Easy | Tree | 
| 673 | Number of Longest Increasing Subsequence | C++ | Medium | Dynamic Programming | 
| 674 | Longest Continuous Increasing Subsequence | C++ | Easy | Array | 
| 676 | Implement Magic Dictionary | C++ | Medium | Hash Table / Trie | 
| 677 | Map Sum Pairs | C++ | Medium | Trie | 
| 679 | 24 Game | C++ | Hard | DFS | 
| 680 | Valid Palindrome II | C++ | Easy | String | 
| 681 | Next Closest Time | C++ | Medium | String | 
| 683 | K Empty Slots | C++ | Hard | Array / Binary Search | 
| 684 | Redundant Connection | C++ | Medium | Graph / Union Find | 
| 685 | Redundant Connection II | C++ | Hard | Graph / DFS / Union Find | 
| 686 | Repeated String Match | C++ | Easy | String | 
| 687 | Longest Univalue Path | C++ | Easy | Tree / DFS | 
| 688 | Knight Probability in Chessboard | C++ | Medium | Dynamic Programming | 
| 689 | Maximum Sum of 3 Non-Overlapping Subarrays | C++ | Hard | Array / Dynamic Programming | 
| 690 | Employee Importance | C++ | Easy | Hash Table / BFS / DFS | 
| 692 | Top K Frequent Words | C++ | Medium | Hash Table / Heap | 
| 693 | Binary Number with Alternating Bits | C++ | Easy | Bit Manipulation | 
| 694 | Number of Distinct Islands | C++ | Medium | Hash Table / DFS | 
| 695 | Max Area of Island | C++ | Easy | Array / DFS | 
| 696 | Count Binary Substrings | C++ | Easy | String | 
| 697 | Degree of an Array | C++ | Easy | Array | 
| 701 | Insert into a Binary Search Tree | C++ | Medium | Array | 
| 713 | Subarray Product Less Than K | C++ | Medium | Array | 
| 717 | 1-bit and 2-bit Characters | C++ | Easy | Array | 
| 718 | Maximum Length of Repeated Subarray | C++ | Medium | Array / Dynamic Programming | 
| 720 | Longest Word in Dictionary | C++ | Easy | Hash Table / Trie | 
| 723 | Candy Crush | C++ | Medium | Array / Two Pointers | 
| 724 | Find Pivot Index | C++ | Easy | Array | 
| 725 | Split Linked List in Parts | C++ | Medium | Linked List | 
| 728 | Self Dividing Numbers | C++ | Easy | Math | 
| 729 | My Calendar I | C++ | Medium | Array | 
| 733 | Flood Fill | C++ | Easy | DFS | 
| 734 | Sentence Similarity | C++ | Easy | Hash Table | 
| 735 | Asteroid Collision | C++ | Medium | Stack | 
| 739 | Daily Temperatures | C++ | Medium | Stack / Hash Table | 
| 740 | Delete and Earn | C++ | Medium | Dynamic Programming | 
| 742 | Closest Leaf in a Binary Tree | C++ | Medium | Tree / Graph | 
| 746 | Min Cost Climbing Stairs | C++ | Easy | Array / Dynamic Programming | 
| 747 | Largest Number At Least Twice of Others | C++ | Easy | Array | 
| 750 | Number Of Corner Rectangles | C++ | Medium | Dynamic Programming | 
| 753 | Cracking the Safe | C++ | Hard | DFS | 
| 758 | Bold Words in String | C++ | Easy | String | 
| 760 | Find Anagram Mappings | C++ | Easy | Hash Table | 
| 763 | Partition Labels | C++ | Medium | Two Pointers / Greedy | 
| 765 | Couples Holding Hands | C++ | Hard | Greedy / Union Find / Greedy | 
| 766 | Toeplitz Matrix | C++ | Easy | Array | 
| 769 | Max Chunks To Make Sorted | C++ | Medium | Array | 
| 771 | Jewels and Stones | C++ | Easy | Hash Table | 
| 773 | Sliding Puzzle | C++ | Hard | BFS | 
| 777 | Swap Adjacent in LR String | C++ | Medium | Brainteaser | 
| 779 | K-th Symbol in Grammar | C++ | Medium | Recursion | 
| 783 | Minimum Distance Between BST Nodes | C++ | Easy | Tree | 
| 784 | Letter Case Permutation | C++ | Easy | String | 
| 785 | Is Graph Bipartite | C++ | Medium | Graph | 
| 787 | Cheapest Flights Within K Stops | C++ | Medium | Graph / Heap | 
| 791 | Custom Sort String | C++ | Medium | String | 
| 792 | Number of Matching Subsequences | C++ | Medium | Array | 
| 797 | All Paths From Source to Target | C++ | Medium | DFS / Graph | 
| 798 | Smallest Rotation with Highest Score | C++ | Hard | Array | 
| 799 | Champagne Tower | C++ | Medium | Array | 
| 802 | Find Eventual Safe States | C++ | Medium | DFS / Graph | 
| 803 | Bricks Falling When Hit | C++ | Hard | Union Find | 
| 804 | Unique Morse Code Words | C++ | Easy | String | 
| 805 | Split Array With Same Average | C++ | Hard | Math | 
| 806 | Number of Lines To Write String | C++ | Easy | String | 
| 807 | Max Increase to Keep City Skyline | C++ | Medium | Array | 
| 809 | Expressive Words | C++ | Medium | String | 
| 814 | Binary Tree Pruning | C++ | Medium | Tree | 
| 815 | Bus Routes | C++ | Hard | BFS | 
| 819 | Most Common Word | C++ | Easy | String | 
| 820 | Short Encoding of Words | C++ | Medium | Trie | 
| 821 | Shortest Distance to a Character | C++ | Easy | String | 
| 826 | Most Profit Assigning Work | C++ | Medium | Two Pointers / Binary Search | 
| 830 | Positions of Large Groups | C++ | Easy | Array | 
| 832 | Flipping an Image | C++ | Easy | Array | 
| 834 | Sum of Distances in Tree | C++ | Hard | Tree / DFS | 
| 836 | Rectangle Overlap | C++ | Easy | Math | 
| 841 | Keys and Rooms | C++ | Medium | DFS / BFS / Graph | 
| 843 | Guess the Word | C++ | Hard | Minimax | 
| 844 | Backspace String Compare | C++ | Easy | Stack / Two Pointers | 
| 845 | Longest Mountain in Array | C++ | Medium | Two Pointers | 
| 846 | Hand of Straights | C++ | Medium | Map | 
| 848 | Shifting Letters | C++ | Medium | String | 
| 849 | Maximize Distance to Closest Person | C++ | Easy | Array | 
| 852 | Peak Index in a Mountain Array | C++ | Easy | Binary Search | 
| 853 | Car Fleet | C++ | Medium | Stack | 
| 855 | Exam Room | C++ | Medium | Map | 
| 857 | Minimum Cost to Hire K Workers | C++ | Hard | Heap | 
| 859 | Buddy Strings | C++ | Easy | String | 
| 872 | Leaf-Similar Trees | C++ | Easy | Tree / DFS | 
| 876 | Middle of the Linked List | C++ | Easy | Linked List | 
| 884 | Uncommon Words from Two Sentences | C++ | Easy | Hash Table | 
| 888 | Fair Candy Swap | C++ | Easy | Array | 
| 889 | Construct Binary Tree from Preorder and Postorder Traversal | C++ | Medium | Tree | 
| 890 | Find and Replace Pattern | C++ | Medium | String | 
| 894 | All Possible Full Binary Trees | C++ | Medium | Tree / Recursion | 
| 896 | Monotonic Array | C++ | Easy | Array | 
| 900 | RLE Iterator | C++ | Medium | Array | 
| 904 | Fruit Into Baskets | C++ | Medium | Two Pointers | 
| 911 | Online Election | C++ | Medium | Binary Search / Map | 
| 914 | X of a Kind in a Deck of Cards | C++ | Easy | Array / Math | 
| 916 | Word Subsets | C++ | Medium | String | 
| 925 | Long Pressed Name | C++ | Easy | String | 
| 929 | Unique Email Addresses | C++ | Easy | String | 
| 932 | Beautiful Array | C++ | Medium | Divide and Conquer | 
| 933 | Number of Recent Calls | C++ | Easy | Queue | 
| 935 | Knight Dialer | C++ | Medium | Dynamic Programming | 
| 938 | Range Sum of BST | C++ | Medium | Tree | 
| 939 | Minimum Area Rectangle | C++ | Medium | Hash Table | 
| 941 | Valid Mountain Array | C++ | Easy | Array | 
| 946 | Validate Stack Sequences | C++ | Medium | Stack | 
| 951 | Flip Equivalent Binary Trees | C++ | Medium | Tree |