LeetCode solutions and io library in C++
| NO. | Title | Solution | Note | Difficulty | Tag |
|---|---|---|---|---|---|
| 5 | Longest Palindromic Substring | C++ | Medium | String Dynamic Programming |
|
| 6 | Zigzag Conversion | C++ | Medium | String |
|
| 7 | Reverse Integer | C++ | Easy | Math |
|
| 8 | String to Integer (atoi) | C++ | Medium | Math 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 | Math 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 | String Backtracking |
|
| 18 | 4Sum | C++ | Medium | Array Hash Table Two Pointers |
|
| 19 | Remove Nth Node From End of List | C++ | Medium | Linked List Two Pointers |
|
| 22 | Generate Parentheses | C++ | Medium | String Backtracking |
|
| 23 | Merge k Sorted Lists | C++ | Hard | Linked List Divide and Conquer Heap |
|
| 24 | Swap Nodes in Pairs | C++ | Medium | Linked List |
|
| 25 | Reverse Nodes in k-Group | C++ | Hard | Linked List |
|
| 29 | Divide Two Integers | C++ | Medium | Math Binary Search |
|
| 30 | Substring with Concatenation of All Words | C++ | Hard | Hash Table Two Pointers String |
|
| 31 | Next Permutation | C++ | Medium | Array |
|
| 32 | Longest Valid Parentheses | C++ | Hard | String Dynamic Programming |
|
| 33 | Search in Rotated Sorted Array | C++ | Medium | Array Binary Search |
|
| 34 | Find First and Last Position of Element in Sorted Array | C++ | Medium | Array Binary Search |
|
| 36 | Valid Sudoku | C++ | Medium | Hash Table |
|
| 37 | Sudoku Solver | C++ | Hard | Hash Table Backtracking |
|
| 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 | Math String |
|
| 44 | Wildcard Matching | C++ | πππ | Hard | String Dynamic Programming 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 | Array |
|
| 49 | Group Anagrams | C++ | π | Medium | Hash Table String |
| 50 | Pow(x, n) | C++ | Medium | Math Binary Search |
|
| 51 | N-Queens | C++ | Hard | Backtracking |
|
| 52 | N-Queens II | C++ | Hard | Backtracking |
|
| 53 | Maximum Subarray | C++ | Easy | Array Divide and Conquer Dynamic Programming |
|
| 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 |
| 59 | Spiral Matrix II | C++ | Medium | Array |
|
| 60 | Permutation Sequence | C++ | Medium | Math Backtracking |
|
| 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++ | Hard | Math String |
|
| 68 | Text Justification | C++ | Hard | String |
|
| 69 | Sqrt(x) | C++ | Easy | Math Binary Search |
|
| 70 | Climbing Stairs | C++ | Easy | Dynamic Programming |
|
| 71 | Simplify Path | C++ | Medium | String Stack |
|
| 72 | Edit Distance | C++ | π | Hard | String Dynamic Programming |
| 73 | Set Matrix Zeroes | C++ | Medium | Array |
|
| 74 | Search a 2D Matrix | C++ | Medium | Array Bianry Search |
|
| 75 | Sort Colors | C++ | Medium | Array Two Pointers Sort |
|
| 76 | Minimum Window Substring | C++ | ππ | Hard | Hash Table Two Pointers String |
| 77 | Combinations | C++ | Medium | Backtracking |
|
| 78 | Subsets | C++ | Medium | Array Backtracking Bit Manipulation |
|
| 79 | Word Search | C++ | Medium | Array Backtracking |
|
| 80 | Remove Duplicates from Sorted Array II | C++ | Medium | Array Two Pointers |
|
| 81 | Search in Rotated Sorted Array II | C++ | π | Medium | Array Binary Search |
| 82 | Remove Duplicates from Sorted List II | C++ | Medium | Linked List |
|
| 84 | Largest Rectangle in Histogram | C++ | π | Hard | Array Stack |
| 85 | Maximal Rectangle | C++ | π | Hard | Array Hash Table Dynamic Programming Stack |
| 86 | Partition List | C++ | Medium | Linked List Two Pointers |
|
| 88 | Merge Sorted Array | C++ | Easy | Array Two Pointers |
|
| 89 | Gray Code | C++ | Medium | Backtracking |
|
| 90 | Subsets II | C++ | Medium | Array Backtracking |
|
| 91 | Decode Ways | C++ | Medium | String Dynamic Programming |
|
| 92 | Reverse Linked List II | C++ | Medium | Linked List |
|
| 93 | Restore IP Addresses | C++ | Medium | String Backtracking |
|
| 94 | Binary Tree Inorder Traversal | C++ | Medium | Hash Table Stack Tree |
|
| 95 | Unique Binary Search Trees II | C++ | Medium | Dynamic Programming Tree |
|
| 96 | Unique Binary Search Trees | C++ | Medium | Dynamic Programming Tree |
|
| 97 | Interleaving String | C++ | π | Hard | String Dynamic Programming |
| 98 | Validate Binary Search Tree | C++ | Medium | Tree Depth-first Search |
|
| 99 | Recover Binary Search Tree | C++ | Hard | Tree Depth-first Search |
|
| 102 | Binary Tree Level Order Traversal | C++ | Medium | Tree Breadth-first Search |
|
| 103 | Binary Tree Zigzag Level Order Traversal | C++ | Medium | Stack Tree Breadth-first Search |
|
| 105 | Construct Binary Tree from Preorder and Inorder Traversal | C++ | Medium | Array Tree Depth-first Search |
|
| 106 | Construct Binary Tree from Inorder and Postorder Traversal | C++ | Medium | Array Tree Depth-first Search |
|
| 109 | Convert Sorted List to Binary Search Tree | C++ | Medium | Linked List Depth-first Search |
|
| 114 | Flatten Binary Tree to Linked List | C++ | Medium | Tree Depth-first Search |
|
| 115 | Distinct Subsequences | C++ | Hard | String Dynamic Programming |
|
| 121 | Best Time to Buy and Sell Stock | C++ | Easy | Arrar Dynamic Programming |
|
| 122 | Best Time to Buy and Sell Stock II | C++ | Easy | Array Greedy |
|
| 124 | Binary Tree Maximum Path Sum | C++ | Hard | Tree Depth-first Search |
|
| 125 | Valid Palindrome | C++ | Easy | Two Pointers String |
|
| 133 | Clone Graph | C++ | Medium | Depth-first Search Breadth-first Search Graph |
|
| 134 | Gas Station | C++ | Medium | Greedy |
|
| 152 | Maximum Product Subarray | C++ | Medium | Array Dynamic Programming |
|
| 153 | Find Minimum in Rotated Sorted Array | C++ | Medium | Array Binary Search |
|
| 190 | Reverse Bits | C++ | Easy | Bit Manipulation |
|
| 191 | Number of 1 Bits | C++ | Easy | Bit Manipulation |
|
| 238 | Product of Array Except Self | C++ | Medium | Array |
|
| 268 | Missing Number | C++ | Easy | Array Math Bit Manipulation |
|
| 279 | Perfect Squares | C++ | Medium | Math Dynamic Programming Breadth-first Search |
|
| 300 | Longest Increasing Subsequence | C++ | Medium | Binary Search Dynamic Programming |
|
| 322 | Coin Change | C++ | Medium | Dymanic Programming |
|
| 338 | Counting Bits | C++ | Medium | Dynamic Programming Bit Manipulation |
|
| 371 | Sum of Two Integers | C++ | Easy | Bit Manipulation |