| Websites |
|---|
| https://www.w3schools.com/cpp/ (Learn From here) |
| https://devdocs.io/cpp/ (C++ API documentation) |
| https://docs.microsoft.com/en-us/cpp/?view=vs-2019 (Microsoft C++, C, and Assembler documentation) |
| https://docs.microsoft.com/en-us/cpp/cpp/?view=vs-2019 (C++ language documentation by microsoft) |
| http://www.cplusplus.com/doc/ (c++ Tutorials) |
| https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines (CppCoreGuidelines) |
| Important |
|---|
| C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". |
| Preview release: C++20 |
| Stable release: C++17 (ISO/IEC 14882:2017) / 1 December 2017; 2 years ago |
| Typing discipline: Static, nominative, partially inferred |
| Designed by: Bjarne Stroustrup |
| Filename extensions: C,.cc,.cpp,.cxx,.c++,.h,.hh,.hpp,.hxx,.h++ |
| Developer: ISO/IEC JTC1 (Joint Technical Committee 1) / SC22 (Subcommittee 22) / WG21 (Working Group 21) |
| # | 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 |