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 |