leetcode
leetcode copied to clipboard
:zap: Leetcode Solutions
🔥 Leetcode 🔥
Practice make Perfect
- 🎉 Unit test with jest
- ✨ Simple code
- 🎨 Readable code
Getting Start
git clone https://github.com/tangweikun/leetcode.git
cd leetcode
npm install
npm run test // also you can run `npm run watch`
Recommend
Contents
# | Title | README | Difficulty | LeetCode | TAGS |
---|---|---|---|---|---|
1 | compare-version-numbers | :green_book: | Easy | LeetCode | String |
2 | set-matrix-zeroes | :green_book: | Easy | LeetCode | Array |
3 | triangle | :green_book: | Medium | LeetCode | DP |
4 | length-of-last-word | :green_book: | Easy | LeetCode | String |
5 | baseball-game | :green_book: | Easy | LeetCode | Stack |
6 | 132-pattern | :green_book: | Medium | LeetCode | Stack |
7 | LongestCommonPrefix | :green_book: | Easy | LeetCode | String |
8 | longest-substring-without-repeating-characters | :green_book: | Easy | LeetCode | String |
9 | global-and-local-inversions | :green_book: | Medium | LeetCode | Array |
10 | min-stack | :green_book: | Medium | LeetCode | Stack |
11 | rotate-image | :green_book: | Medium | LeetCode | Array |
12 | task-scheduler | :green_book: | Medium | LeetCode | Array |
13 | search-insert-position | :green_book: | Easy | LeetCode | BinarySearch |
14 | judge-route-circle | :green_book: | Easy | LeetCode | String |
15 | advantage-shuffle | :green_book: | Medium | LeetCode | Array |
16 | number-of-matching-subsequences | :green_book: | Medium | LeetCode | Array |
17 | valid-parentheses | :green_book: | Easy | LeetCode | String |
18 | power-of-two | :green_book: | Easy | LeetCode | Math |
19 | number-of-1-bits | :green_book: | Easy | LeetCode | Bit |
20 | my-calendar-ii | :green_book: | Easy | LeetCode | Array |
21 | subdomain-visit-count | :green_book: | Easy | LeetCode | HashTable |
22 | top-k-frequent-elements | :green_book: | Medium | LeetCode | HashTable |
23 | climbing-stairs | :green_book: | Easy | LeetCode | DP |
24 | remove-element | :green_book: | Easy | LeetCode | Array |
25 | implement-strstr | :green_book: | Easy | LeetCode | String |
26 | largest-number-at-least-twice-of-others | :green_book: | Easy | LeetCode | Array |
27 | powx-n | :green_book: | Easy | LeetCode | Math |
28 | replace-words | :green_book: | Medium | LeetCode | HashTable |
29 | remove-duplicates-from-sorted-array | :green_book: | Easy | LeetCode | Two Pointer |
30 | roman-to-integer | :green_book: | Easy | LeetCode | Math |
31 | maximum-subarray | :green_book: | Easy | LeetCode | Array |
32 | plus-one | :green_book: | Easy | LeetCode | Math |
33 | add-binary | :green_book: | Easy | LeetCode | Math |
34 | sqrtx | :green_book: | Easy | LeetCode | Math |
35 | merge-sorted-array | :green_book: | Easy | LeetCode | Array |
36 | count-and-say | :green_book: | Easy | LeetCode | String |
37 | best-time-to-buy-and-sell-stock | :green_book: | Easy | LeetCode | Array |
38 | best-time-to-buy-and-sell-stock-ii | :green_book: | Easy | LeetCode | Array |
39 | valid-palindrome | :green_book: | Easy | LeetCode | TwoPointers |
40 | single-number | :green_book: | Easy | LeetCode | Bit |
41 | two-sum-ii-input-array-is-sorted | :green_book: | Easy | LeetCode | Array |
42 | rotate-array | :green_book: | Easy | LeetCode | Array |
43 | reverse-bits | :green_book: | Easy | LeetCode | Bit |
44 | asteroid-collision | :green_book: | Medium | LeetCode | Stack |
45 | top-k-frequent-words | :green_book: | Medium | LeetCode | HashTable |
46 | contiguous-array | :green_book: | Medium | LeetCode | HashTable |
47 | group-anagrams | :green_book: | Easy | LeetCode | HashTable |
48 | happy-number | :green_book: | Easy | LeetCode | Math |
49 | fizz-buzz | :green_book: | Easy | LeetCode | Math |
50 | hamming-distance | :green_book: | Easy | LeetCode | Bit |
51 | intersection-of-two-arrays | :green_book: | Easy | LeetCode | TowPointers |
52 | intersection-of-two-arrays-ii | :green_book: | Easy | LeetCode | TwoPointers |
53 | island-perimeter | :green_book: | Easy | LeetCode | HashTable |
54 | keyboard-row | :green_book: | Easy | LeetCode | HashTable |
55 | longest-palindrome | :green_book: | Easy | LeetCode | HashTable |
56 | longest-continuous-increasing-subsequence | :green_book: | Easy | LeetCode | Array |
57 | longest-harmonious-subsequence | :green_book: | Easy | LeetCode | HashTable |
58 | first-unique-character-in-a-string | :green_book: | Easy | LeetCode | String |
59 | find-the-difference | :green_book: | Easy | LeetCode | HashTable |
60 | add-digits | :green_book: | Easy | LeetCode | Math |
61 | add-strings | :green_book: | Easy | LeetCode | Math |
62 | array-partition-i | :green_book: | Easy | LeetCode | Array |
63 | arranging-coins | :green_book: | Easy | LeetCode | Math |
64 | contains-duplicate | :green_book: | Easy | LeetCode | Array |
65 | contains-duplicate-ii | :green_book: | Easy | LeetCode | Array |
66 | count-binary-substrings | :green_book: | Easy | LeetCode | String |
67 | detect-capital | :green_book: | Easy | LeetCode | String |
68 | distribute-candies | :green_book: | Easy | LeetCode | HashTable |
69 | count-primes | :green_book: | Easy | LeetCode | Math |
70 | base-7 | :green_book: | Easy | LeetCode | |
71 | power-of-three | :green_book: | Easy | LeetCode | Math |
72 | power-of-four | :green_book: | Easy | LeetCode | math |
73 | number-of-segments-in-a-string | :green_book: | Easy | LeetCode | String |
74 | reverse-string | :green_book: | Easy | LeetCode | String |
75 | reverse-string-ii | :green_book: | Easy | LeetCode | String |
76 | reverse-words-in-a-string-iii | :green_book: | Easy | LeetCode | String |
77 | reverse-vowels-of-a-string | :green_book: | Easy | LeetCode | String |
78 | ugly-number | :green_book: | Easy | LeetCode | Math |
79 | valid-anagram | :green_book: | Easy | LeetCode | HashTable |
80 | valid-palindrome-ii | :green_book: | Easy | LeetCode | String |
81 | word-pattern | :green_book: | Easy | LeetCode | HashTable |
82 | binary-number-with-alternating-bits | :green_book: | Easy | LeetCode | Bit |
83 | find-all-anagrams-in-a-string | :green_book: | Easy | LeetCode | HashTable |
84 | factorial-trailing-zeroes | :green_book: | Easy | LeetCode | Math |
85 | find-smallest-letter-greater-than-target | :green_book: | Easy | LeetCode | BinarySearch |
86 | find-pivot-index | :green_book: | Easy | LeetCode | Array |
87 | license-key-formatting | :green_book: | Easy | LeetCode | |
88 | longest-uncommon-subsequence-i | :green_book: | Easy | LeetCode | String |
89 | majority-element | :green_book: | Easy | LeetCode | Array |
90 | perfect-number | :green_book: | Easy | LeetCode | Math |
91 | prime-number-of-set-bits-in-binary-representation | :green_book: | Easy | LeetCode | Bit |
92 | number-complement | :green_book: | Easy | LeetCode | Bit |
93 | move-zeroes | :green_book: | Easy | LeetCode | Array |
94 | relative-ranks | :green_book: | Easy | LeetCode | |
95 | valid-perfect-square | :green_book: | Easy | LeetCode | Math |
96 | string-compression | :green_book: | Easy | LeetCode | String |
97 | student-attendance-record-i | :green_book: | Easy | LeetCode | String |
98 | max-consecutive-ones | :green_book: | Easy | LeetCode | Array |
99 | maximum-average-subarray-i | :green_book: | Easy | LeetCode | Array |
100 | minimum-index-sum-of-two-lists | :green_book: | Easy | LeetCode | |
101 | sum-of-square-numbers | :green_book: | Easy | LeetCode | Math |
102 | set-mismatch | :green_book: | Easy | LeetCode | Math |
103 | find-the-duplicate-number | :green_book: | Medium | LeetCode | Math |
104 | self-dividing-numbers | :green_book: | Easy | LeetCode | Math |
105 | missing-number | :green_book: | Easy | LeetCode | Math |
106 | maximum-product-of-three-numbers | :green_book: | Easy | LeetCode | Math |
107 | complex-number-multiplication | :green_book: | Medium | LeetCode | Math |
108 | ugly-number-ii | :green_book: | Medium | LeetCode | Math, DP |
109 | valid-square | :green_book: | Medium | LeetCode | Math |
110 | 1-bit-and-2-bit-characters | :green_book: | Easy | LeetCode | Array |
111 | can-place-flowers | :green_book: | Easy | LeetCode | Array |
112 | find-all-numbers-disappeared-in-an-array | :green_book: | Easy | LeetCode | Array |
113 | container-with-most-water | :green_book: | Medium | LeetCode | Array |
114 | degree-of-an-array | :green_book: | Easy | LeetCode | Array |
115 | find-all-duplicates-in-an-array | :green_book: | Easy | LeetCode | Array |
116 | find-minimum-in-rotated-sorted-array | :green_book: | Easy | LeetCode | Array |
117 | find-minimum-in-rotated-sorted-array-ii | :green_book: | Easy | LeetCode | Array |
118 | find-peak-element | :green_book: | Medium | LeetCode | Array |
119 | jump-game | :green_book: | Medium | LeetCode | DP |
120 | jump-game-ii | :green_book: | Hard | LeetCode | DP |
121 | max-chunks-to-make-sorted | :green_book: | Medium | LeetCode | Array |
122 | maximum-swap | :green_book: | Medium | LeetCode | Array |
123 | min-cost-climbing-stairs | :green_book: | Medium | LeetCode | DP |
124 | minimum-size-subarray-sum | :green_book: | Medium | LeetCode | Array |
125 | remove-duplicates-from-sorted-array-ii | :green_book: | Medium | LeetCode | Array |
126 | search-for-a-range | :green_book: | Medium | LeetCode | Array |
127 | subarray-product-less-than-k | :green_book: | Medium | LeetCode | Array |
128 | daily-temperatures | :green_book: | Medium | LeetCode | Stack |
129 | sum-of-two-integers | :green_book: | Easy | LeetCode | Bit |
130 | jewels-and-stones | :green_book: | Easy | LeetCode | HashTable |
131 | number-of-boomerangs | :green_book: | Easy | LeetCode | HashTable |
132 | isomorphic-strings | :green_book: | Easy | LeetCode | HashTable |
133 | counting-bits | :green_book: | Easy | LeetCode | Bit |
134 | valid-triangle-number | :green_book: | Medium | LeetCode | Array |
135 | repeated-substring-pattern | :green_book: | Easy | LeetCode | String |
136 | maximum-depth-of-binary-tree | :green_book: | Easy | LeetCode | BinaryTree |
137 | merge-two-binary-trees | :green_book: | Easy | LeetCode | BinaryTree |
138 | average-of-levels-in-binary-tree | :green_book: | Easy | LeetCode | BinaryTree |
139 | find-duplicate-subtrees | :green_book: | Medium | LeetCode | BinaryTree |
140 | minimum-window-substring | :green_book: | Hard | LeetCode | String |
141 | invert-binary-tree | :green_book: | Easy | LeetCode | BinaryTree |
142 | two-sum-iv-input-is-a-bst | :green_book: | Easy | LeetCode | BinaryTree |
143 | same-tree | :green_book: | Easy | LeetCode | BinaryTree |
144 | sum-of-left-leaves | :green_book: | Easy | LeetCode | BinaryTree |
145 | trim-a-binary-search-tree | :green_book: | Easy | LeetCode | BinaryTree |
146 | toeplitz-matrix | :green_book: | Easy | LeetCode | Array |
147 | reshape-the-matrix | :green_book: | Easy | LeetCode | Array |
148 | next-greater-element-i | :green_book: | Easy | LeetCode | Array |
149 | nim-game | :green_book: | Easy | LeetCode | BrainTeaser |
150 | rotated-digits | :green_book: | Easy | LeetCode | String |
151 | excel-sheet-column-number | :green_book: | Easy | LeetCode | Math |
152 | ransom-note | :green_book: | Easy | LeetCode | String |
153 | k-diff-pairs-in-an-array | :green_book: | Easy | LeetCode | Array |
154 | third-maximum-number | :green_book: | Easy | LeetCode | Array |
155 | single-element-in-a-sorted-array | :green_book: | Medium | LeetCode | Array |
156 | single-number-iii | :green_book: | Medium | LeetCode | Array |
157 | arithmetic-slices | :green_book: | Medium | LeetCode | Math,DP |
158 | palindromic-substrings | :green_book: | Medium | LeetCode | String,DP |
159 | maximum-xor-of-two-numbers-in-an-array | :green_book: | Medium | LeetCode | Bit |
160 | sort-characters-by-frequency | :green_book: | Medium | LeetCode | HashTable |
161 | rotate-string | :green_book: | Medium | LeetCode | String |
162 | product-of-array-except-self | :green_book: | Medium | LeetCode | Array |
163 | teemo-attacking | :green_book: | Medium | LeetCode | Array |
164 | queue-reconstruction-by-height | :green_book: | Medium | LeetCode | Greedy |
165 | 4sum-ii | :green_book: | Medium | LeetCode | HashTable |
166 | 01-matrix | :green_book: | Medium | LeetCode | HashTable |
167 | 3sum | :green_book: | Medium | LeetCode | TwoPointers |
168 | 3sum-closest | :green_book: | Medium | LeetCode | TwoPointers |
169 | 4Sum | :green_book: | Medium | LeetCode | TwoPointers |
170 | add-two-numbers | :green_book: | Medium | LeetCode | LinkedList |
171 | add-two-numbers-ii | :green_book: | Medium | LeetCode | LinkedList |
172 | add-and-search-word-data-structure-design | :green_book: | Medium | LeetCode | LinkedList |
173 | additive-number | :green_book: | Medium | LeetCode | String |
174 | assign-cookies | :green_book: | Easy | LeetCode | Greedy |
175 | basic-calculator | :green_book: | Medium | LeetCode | Stack |
176 | basic-calculator-ii | :green_book: | Medium | LeetCode | Stack |
177 | target-sum | :green_book: | Medium | LeetCode | DP |
178 | implement-queue-using-stacks | :green_book: | Easy | LeetCode | Stack |
179 | implement-stack-using-queues | :green_book: | Easy | LeetCode | Stack |
180 | next-greater-element-ii | :green_book: | Medium | LeetCode | Stack |
181 | binary-tree-tilt | :green_book: | Easy | LeetCode | Tree |
182 | diameter-of-binary-tree | :green_book: | Easy | LeetCode | Tree |
183 | symmetric-tree | :green_book: | Easy | LeetCode | Tree |
184 | second-minimum-node-in-a-binary-tree | :green_book: | Easy | LeetCode | Tree |
185 | subtree-of-another-tree | :green_book: | Easy | LeetCode | Tree |
186 | binary-tree-paths | :green_book: | Easy | LeetCode | DFS |
187 | path-sum | :green_book: | Easy | LeetCode | DFS |
188 | minimum-depth-of-binary-tree | :green_book: | Easy | LeetCode | DFS |
189 | find-bottom-left-tree-value | :green_book: | Medium | LeetCode | DFS |
190 | decode-string | :green_book: | Medium | LeetCode | DFS,Stack |
191 | find-largest-value-in-each-tree-row | :green_book: | Medium | LeetCode | DFS |
192 | max-area-of-island | :green_book: | Easy | LeetCode | DFS |
193 | flood-fill | :green_book: | Easy | LeetCode | DFS |
194 | balanced-binary-tree | :green_book: | Easy | LeetCode | DFS |
195 | friend-circles | :green_book: | Medium | LeetCode | DFS |
196 | house-robber-iii | :green_book: | Medium | LeetCode | DFS |
197 | increasing-subsequences | :green_book: | Medium | LeetCode | DFS |
198 | sum-root-to-leaf-numbers | :green_book: | Medium | LeetCode | DFS |
199 | number-of-islands | :green_book: | Medium | LeetCode | DFS |
200 | path-sum-ii | :green_book: | Medium | LeetCode | DFS |
201 | matchsticks-to-square | :green_book: | Medium | LeetCode | DFS |
202 | two-sum | :green_book: | Easy | LeetCode | Array |
203 | unique-morse-code-words | :green_book: | Easy | LeetCode | Hash |
204 | image-smoother | :green_book: | Easy | LeetCode | Array |
205 | pascals-triangle | :green_book: | Easy | LeetCode | Array |
206 | pascals-triangle-ii | :green_book: | Easy | LeetCode | Array |
207 | shortest-unsorted-continuous-subarray | :green_book: | Easy | LeetCode | Array |
208 | Non-decreasingArray | :green_book: | Easy | LeetCode | Array |
209 | range-addition-ii | :green_book: | Easy | LeetCode | Math |
210 | repeated-string-match | :green_book: | Easy | LeetCode | Math |
211 | house-robber | :green_book: | Easy | LeetCode | DP |
212 | minimum-ascii-delete-sum-for-two-strings | :green_book: | Medium | LeetCode | DP |
213 | maximum-length-of-pair-chain | :green_book: | Medium | LeetCode | DP,Greedy |
214 | integer-break | :green_book: | Medium | LeetCode | DP |
215 | count-numbers-with-unique-digits | :green_book: | Medium | LeetCode | DP |
216 | best-time-to-buy-and-sell-stock-with-transaction-fee | :green_book: | Medium | LeetCode | DP,Greedy |
217 | shopping-offers | :green_book: | Medium | LeetCode | DP,DFS |
218 | predict-the-winner | :green_book: | Medium | LeetCode | DP |
219 | 2-keys-keyboard | :green_book: | Medium | LeetCode | DP |
220 | is-subsequence | :green_book: | Medium | LeetCode | DP |
221 | delete-and-earn | :green_book: | Medium | LeetCode | DP |
222 | longest-palindromic-subsequence | :green_book: | Medium | LeetCode | DP |
223 | combination-sum-iv | :green_book: | Medium | LeetCode | DP |
224 | maximum-length-of-repeated-subarray | :green_book: | Medium | LeetCode | DP |
225 | minimum-path-sum | :green_book: | Medium | LeetCode | DP |
226 | largest-sum-of-averages | :green_book: | Medium | LeetCode | DP |
227 | longest-increasing-subsequence | :green_book: | Medium | LeetCode | DP |
228 | partition-equal-subset-sum | :green_book: | Medium | LeetCode | DP |
229 | flipping-an-image | :green_book: | Easy | LeetCode | Array |
230 | positions-of-large-groups | :green_book: | Easy | LeetCode | Array |
231 | magic-squares-in-grid | :green_book: | Easy | LeetCode | Array |
232 | array-nesting | :green_book: | Medium | LeetCode | Array |
233 | combination-sum-iii | :green_book: | Medium | LeetCode | Backtracking |
234 | subsets | :green_book: | Medium | LeetCode | Backtracking |
235 | my-calendar-i | :green_book: | Medium | LeetCode | Array |
236 | combination-sum | :green_book: | Medium | LeetCode | Backtracking |
237 | spiral-matrix-ii | :green_book: | Medium | LeetCode | Backtracking |
238 | number-of-subarrays-with-bounded-maximum | :green_book: | Medium | LeetCode | Array |
239 | subarray-sum-equals-k | :green_book: | Medium | LeetCode | HashTable |
240 | sort-colors | :green_book: | Medium | LeetCode | HashTable |
241 | subsets-ii | :green_book: | Medium | LeetCode | Backtracking |
242 | summary-ranges | :green_book: | Medium | LeetCode | Array |
243 | merge-intervals | :green_book: | Medium | LeetCode | Array |
244 | minimum-moves-to-equal-array-elements | :green_book: | Easy | LeetCode | Math |
245 | minimum-moves-to-equal-array-elements-ii | :green_book: | Easy | LeetCode | Math |
246 | backspace-string-compare | :green_book: | Easy | LeetCode | Stack |
247 | partition-labels | :green_book: | Medium | LeetCode | TwoPointers,Greedy |
248 | peak-index-in-a-mountain-array | :green_book: | Easy | LeetCode | BinarySearch |
249 | goat-latin | :green_book: | Easy | LeetCode | String |
250 | custom-sort-string | :green_book: | Medium | LeetCode | String |
251 | nth-digit | :green_book: | Easy | LeetCode | Math |
252 | transpose-matrix | :green_book: | Easy | LeetCode | Array |
253 | maximize-distance-to-closest-person | :green_book: | Easy | LeetCode | Array |
254 | bulls-and-cows | :green_book: | Medium | LeetCode | HashTable |
255 | construct-the-rectangle | :green_book: | Easy | LeetCode | Math |
256 | most-common-word | :green_book: | Easy | LeetCode | String |
257 | shortest-distance-to-a-character | :green_book: | Easy | LeetCode | String |
258 | binary-gap | :green_book: | Easy | LeetCode | String |
259 | lemonade-change | :green_book: | Easy | LeetCode | Greedy |
260 | excel-sheet-column-title | :green_book: | Easy | LeetCode | Math |
261 | largest-triangle-area | :green_book: | Easy | LeetCode | Math |
262 | reordered-power-of-2 | :green_book: | Medium | LeetCode | Math |
263 | spiral-matrix | Medium | LeetCode | Math | |
264 | long-pressed-name | Easy | LeetCode | String | |
265 | uncommon-words-from-two-sentences | Easy | LeetCode | String | |
266 | reverse-only-letters | Easy | LeetCode | String | |
267 | powerful-integers | Easy | LeetCode | Math | |
268 | minimum-add-to-make-parentheses-valid | Easy | LeetCode | String |