|
|
|
|
|
|
|
|
1 |
Two Sum |
2 |
5 |
array |
sort |
|
|
|
|
|
set |
Two Pointers |
|
2 |
Add Two Numbers |
3 |
4 |
linked list |
Two Pointers |
|
|
|
|
|
|
Math |
|
3 |
Longest Substring Without Repeating Characters |
3 |
2 |
string |
Two Pointers |
|
|
|
|
|
hashtable |
|
|
4 |
Median of Two Sorted Arrays |
5 |
3 |
array |
Binary Search |
|
5 |
Longest Palindromic Substring |
4 |
2 |
string |
|
|
6 |
ZigZag Conversion |
3 |
1 |
string |
|
|
7 |
Reverse Integer |
2 |
3 |
|
Math |
|
8 |
String to Integer (atoi) |
2 |
5 |
string |
Math |
|
9 |
Palindrome Number |
2 |
2 |
|
Math |
|
10 |
Regular Expression Matching |
5 |
3 |
string |
Recursion |
|
|
|
|
|
|
DP |
|
11 |
Container With Most Water |
3 |
2 |
array |
Two Pointers |
|
12 |
Integer to Roman |
3 |
4 |
|
Math |
|
13 |
Roman to Integer |
2 |
4 |
|
Math |
|
14 |
Longest Common Prefix |
2 |
1 |
string |
|
|
15 |
3Sum |
3 |
5 |
array |
Two Pointers |
|
16 |
3Sum Closest |
3 |
1 |
array |
Two Pointers |
|
17 |
Letter Combinations of a Phone Number |
3 |
3 |
string |
DFS |
|
18 |
4Sum |
3 |
2 |
array |
|
|
19 |
Remove Nth Node From End of List |
2 |
3 |
linked list |
Two Pointers |
|
20 |
Valid Parentheses |
2 |
5 |
string |
Stack |
|
21 |
Merge Two Sorted Lists |
2 |
5 |
linked list |
sort |
|
|
|
|
|
|
Two Pointers |
|
|
|
|
|
|
merge |
|
22 |
Generate Parentheses |
3 |
4 |
string |
DFS |
|
23 |
Merge k Sorted Lists |
3 |
4 |
linked list |
sort |
|
|
|
|
|
heap |
Two Pointers |
|
|
|
|
|
|
merge |
|
24 |
Swap Nodes in Pairs |
2 |
4 |
linked list |
|
|
25 |
Reverse Nodes in k-Group |
4 |
2 |
linked list |
Recursion |
|
|
|
|
|
|
Two Pointers |
|
26 |
Remove Duplicates from Sorted Array |
1 |
3 |
array |
Two Pointers |
|
27 |
Remove Element |
1 |
4 |
array |
Two Pointers |
|
28 |
Implement strStr() |
4 |
5 |
string |
Two Pointers |
|
|
|
|
|
|
KMP |
|
|
|
|
|
|
rolling hash |
|
29 |
Divide Two Integers |
4 |
3 |
|
Binary Search |
|
|
|
|
|
|
Math |
|
30 |
Substring with Concatenation of All Words |
3 |
1 |
string |
Two Pointers |
|
31 |
Next Permutation |
5 |
2 |
array |
permutation |
|
32 |
Longest Valid Parentheses |
4 |
1 |
string |
DP |
|
33 |
Search in Rotated Sorted Array |
4 |
3 |
array |
Binary Search |
|
34 |
Search for a Range |
4 |
3 |
array |
Binary Search |
|
35 |
Search Insert Position |
2 |
2 |
array |
|
|
36 |
Valid Sudoku |
2 |
2 |
array |
|
|
37 |
Sudoku Solver |
4 |
2 |
array |
DFS |
|
38 |
Count and Say |
2 |
2 |
string |
Two Pointers |
|
39 |
Combination Sum |
3 |
3 |
array |
combination |
|
40 |
Combination Sum II |
4 |
2 |
array |
combination |
|
41 |
First Missing Positive |
5 |
2 |
array |
sort |
|
42 |
Trapping Rain Water |
4 |
2 |
array |
Two Pointers |
|
|
|
|
|
|
Stack |
|
43 |
Multiply Strings |
4 |
3 |
string |
Two Pointers |
|
|
|
|
|
|
Math |
|
44 |
Wildcard Matching |
5 |
3 |
string |
Recursion |
|
|
|
|
|
|
DP |
|
|
|
|
|
|
greedy |
|
45 |
Jump Game II |
4 |
2 |
array |
|
|
46 |
Permutations |
3 |
4 |
array |
permutation |
|
47 |
Permutations II |
4 |
2 |
array |
permutation |
|
48 |
Rotate Image |
4 |
2 |
array |
|
|
49 |
Anagrams |
3 |
4 |
string |
|
|
|
|
|
|
hashtable |
|
|
50 |
Pow(x, n) |
3 |
5 |
|
Binary Search |
|
|
|
|
|
|
Math |
|
51 |
N-Queens |
4 |
3 |
array |
DFS |
|
52 |
N-Queens II |
4 |
3 |
array |
DFS |
|
53 |
Maximum Subarray |
3 |
3 |
array |
DP |
|
54 |
Spiral Matrix |
4 |
2 |
array |
|
|
55 |
Jump Game |
3 |
2 |
array |
|
|
56 |
Merge Intervals |
4 |
5 |
array |
sort |
|
|
|
|
|
linked list |
merge |
|
|
|
|
|
red-black tree |
|
|
57 |
Insert Interval |
4 |
5 |
array |
sort |
|
|
|
|
|
linked list |
merge |
|
|
|
|
|
red-black tree |
|
|
58 |
Length of Last Word |
1 |
1 |
string |
|
|
59 |
Spiral Matrix II |
3 |
2 |
array |
|
|
60 |
Permutation Sequence |
5 |
1 |
|
permutation |
|
|
|
|
|
|
Math |
|
61 |
Rotate List |
3 |
2 |
linked list |
Two Pointers |
|
62 |
Unique Paths |
2 |
3 |
array |
DP |
|
63 |
Unique Paths II |
3 |
3 |
array |
DP |
|
64 |
Minimum Path Sum |
3 |
3 |
array |
DP |
|
65 |
Valid Number |
2 |
5 |
string |
Math |
|
66 |
Plus One |
1 |
2 |
array |
Math |
|
67 |
Add Binary |
2 |
4 |
string |
Two Pointers |
|
|
|
|
|
|
Math |
|
68 |
Text Justification |
4 |
2 |
string |
|
|
69 |
Sqrt(x) |
4 |
4 |
|
Binary Search |
|
70 |
Climbing Stairs |
2 |
5 |
|
DP |
|
71 |
Simplify Path |
3 |
1 |
string |
Stack |
|
72 |
Edit Distance |
4 |
3 |
string |
DP |
|
73 |
Set Matrix Zeroes |
3 |
5 |
array |
|
|
74 |
Search a 2D Matrix |
3 |
3 |
array |
Binary Search |
|
75 |
Sort Colors |
4 |
2 |
array |
sort |
|
|
|
|
|
|
Two Pointers |
|
76 |
Minimum Window Substring |
4 |
2 |
string |
Two Pointers |
|
77 |
Combinations |
3 |
4 |
|
combination |
|
78 |
Subsets |
3 |
4 |
array |
Recursion |
|
|
|
|
|
|
combination |
|
79 |
Word Search |
3 |
4 |
array |
DFS |
|
80 |
Remove Duplicates from Sorted Array II |
2 |
2 |
array |
Two Pointers |
|
81 |
Search in Rotated Sorted Array II |
5 |
3 |
array |
Binary Search |
|
82 |
Remove Duplicates from Sorted List II |
3 |
3 |
linked list |
Recursion |
|
|
|
|
|
|
Two Pointers |
|
83 |
Remove Duplicates from Sorted List |
1 |
3 |
linked list |
|
|
84 |
Largest Rectangle in Histogram |
5 |
2 |
array |
Stack |
|
85 |
Maximal Rectangle |
5 |
1 |
array |
DP |
|
|
|
|
|
|
Stack |
|
86 |
Partition List |
3 |
3 |
linked list |
Two Pointers |
|
87 |
Scramble String |
5 |
2 |
string |
Recursion |
|
|
|
|
|
|
DP |
|
88 |
Merge Sorted Array |
2 |
5 |
array |
Two Pointers |
|
|
|
|
|
|
merge |
|
89 |
Gray Code |
4 |
2 |
|
combination |
|
90 |
Subsets II |
4 |
2 |
array |
Recursion |
|
|
|
|
|
|
combination |
|
91 |
Decode Ways |
3 |
4 |
string |
Recursion |
|
|
|
|
|
|
DP |
|
92 |
Reverse Linked List II |
3 |
2 |
linked list |
Two Pointers |
|
93 |
Restore IP Addresses |
3 |
3 |
string |
DFS |
|
94 |
Binary Tree Inorder Traversal |
4 |
3 |
tree |
Recursion |
|
|
|
|
|
hashtable |
morris |
|
|
|
|
|
|
Stack |
|
95 |
Unique Binary Search Trees II |
4 |
1 |
tree |
DP |
|
|
|
|
|
|
DFS |
|
96 |
Unique Binary Search Trees |
3 |
1 |
tree |
DP |
|
97 |
Interleaving String |
5 |
2 |
string |
Recursion |
|
|
|
|
|
|
DP |
|
98 |
Validate Binary Search Tree |
3 |
5 |
tree |
DFS |
|
99 |
Recover Binary Search Tree |
4 |
2 |
tree |
DFS |
|
100 |
Same Tree |
1 |
1 |
tree |
DFS |
|
101 |
Symmetric Tree |
1 |
2 |
tree |
DFS |
|
102 |
Binary Tree Level Order Traversal |
3 |
4 |
tree |
BFS |
|
103 |
Binary Tree Zigzag Level Order Traversal |
4 |
3 |
queue |
BFS |
|
|
|
|
|
tree |
Stack |
|
104 |
Maximum Depth of Binary Tree |
1 |
1 |
tree |
DFS |
|
105 |
Construct Binary Tree from Preorder and Inorder Tr |
3 |
3 |
array |
DFS |
|
|
|
|
|
tree |
|
|
106 |
Construct Binary Tree from Inorder and Postorder T |
3 |
3 |
array |
DFS |
|
|
|
|
|
tree |
|
|
107 |
Binary Tree Level Order Traversal II |
3 |
1 |
tree |
BFS |
|
108 |
Convert Sorted Array to Binary Search Tree |
2 |
3 |
tree |
DFS |
|
109 |
Convert Sorted List to Binary Search Tree |
4 |
3 |
linked list |
Recursion |
|
|
|
|
|
|
Two Pointers |
|
110 |
Balanced Binary Tree |
1 |
2 |
tree |
DFS |
|
111 |
Minimum Depth of Binary Tree |
1 |
1 |
tree |
DFS |
|
112 |
Path Sum |
1 |
3 |
tree |
DFS |
|
113 |
Path Sum II |
2 |
2 |
tree |
DFS |
|
114 |
Flatten Binary Tree to Linked List |
3 |
3 |
tree |
Recursion |
|
|
|
|
|
|
Stack |
|
115 |
Distinct Subsequences |
4 |
2 |
string |
DP |
|
116 |
Populating Next Right Pointers in Each Node |
3 |
3 |
tree |
DFS |
|
117 |
Populating Next Right Pointers in Each Node II |
4 |
2 |
tree |
DFS |
|
118 |
Pascal's Triangle |
2 |
1 |
array |
|
|
119 |
Pascal's Triangle II |
2 |
1 |
array |
|
|
120 |
Triangle |
3 |
1 |
array |
DP |
|
121 |
Best Time to Buy and Sell Stock |
2 |
1 |
array |
DP |
|
122 |
Best Time to Buy and Sell Stock II |
3 |
1 |
array |
greedy |
|
123 |
Best Time to Buy and Sell Stock III |
4 |
1 |
array |
DP |
|
124 |
Binary Tree Maximum Path Sum |
4 |
2 |
tree |
DFS |
|
125 |
Valid Palindrome |
2 |
5 |
string |
Two Pointers |
|
126 |
Word Ladder II |
1 |
1 |
|
|
|
127 |
Word Ladder |
3 |
5 |
graph |
BFS |
|
|
|
|
|
|
shortest path |
|
128 |
Longest Consecutive Sequence |
4 |
3 |
array |
|
|
129 |
Sum Root to Leaf Numbers |
2 |
4 |
tree |
DFS |
|
130 |
Surrounded Regions |
4 |
3 |
array |
BFS |
|
|
|
|
|
|
DFS |
|
131 |
Palindrome Partitioning |
3 |
4 |
string |
DFS |
|
132 |
Palindrome Partitioning II |
4 |
3 |
string |
DP |