All Projects → dingjikerbo → Leetcode Java

dingjikerbo / Leetcode Java

Leetcode刷题之旅

Labels

Leetcode - Java

一、电子书(pdf)

Latex排版整理的电子书



二、文档列表



三、所有题目列表

# Title Solution Score Backup
1 Two Sum Java 100
2 Add Two Numbers Java 80
3 Longest Substring Without Repeating Characters Java 这个系列的所有题都要多做几遍
4 Median of Two Sorted Arrays Java 70 这题很经典,多做几遍
5 Longest Palindromic Substring Java 85 这题对比动态规划和最优算法
6 ZigZag Conversion Java
7 Reverse Integer Java 95
8 String to Integer (atoi) Java 90 很考代码能力,容易错
9 Palindrome Number Java
10 Regular Expression Matching Java 60 这题很经典,多做几遍,和#44一起
11 Container With Most Water Java
12 Integer to Roman Java
13 Roman to Integer Java
14 Longest Common Prefix Java
15 3Sum Java 70
16 3Sum Closest Java
17 Letter Combinations of a Phone Number Java 85
18 4Sum Java
19 Remove Nth Node From End of List Java
20 Valid Parentheses Java 100
21 Merge Two Sorted Lists Java 90
22 Generate Parentheses Java 80 这题看两遍
23 Merge k Sorted Lists Java 70
24 Swap Nodes in Pairs Java
25 Reverse Nodes in k-Group Java 80
26 Remove Duplicates from Sorted Array Java 80
27 Remove Element Java
28 Implement strStr() Java 70
29 Divide Two Integers Java
30 Substring with Concatenation of All Words Java
31 Next Permutation Java
32 Longest Valid Parentheses Java
33 Search in Rotated Sorted Array Java 80
34 Search for a Range Java
35 Search Insert Position Java
36 Valid Sudoku Java 80
37 Sudoku Solver Java 70 这道题是典型的back tracking,多做几遍
38 Count and Say Java 80
39 Combination Sum Java 70 排列组合系列的题要多做几遍
40 Combination Sum II Java 70
41 First Missing Positive Java
42 Trapping Rain Water Java 95
43 Multiply Strings Java 80
44 Wildcard Matching Java 60 和#10多做几遍
45 Jump Game II Java
46 Permutations Java
47 Permutations II Java 70 多做几遍
48 Rotate Image Java 100
49 Group Anagrams Java 95
50 Pow(x, n) Java 80
51 N-Queens Java
52 N-Queens II Java
53 Maximum Subarray Java 95
54 Spiral Matrix Java 85
55 Jump Game Java
56 Merge Intervals Java 70
57 Insert Interval Java 75 这题要多做几遍
60 Permutation Sequence Java 70 这题思路巧妙,多做两遍
61 Rotate List Java 90
66 Plus One Java 100 这题多看一遍
67 Add Binary Java 100
68 Text Justification Java
69 Sqrt(x) Java 85
71 Simplify Path Java 80
72 Edit Distance Java 75
73 Set Matrix Zeroes Java 90
74 Search a 2D Matrix Java
75 Sort Colors Java 65 这题多做几遍,很有意思
76 Minimum Window Substring Java 50 这题以及类似的题一定要多做几遍,很经典,参见window
77 Combinations Java
78 Subsets Java 85
79 Word Search Java 85
80 Remove Duplicates from Sorted Array II Java 100
81 Search in Rotated Sorted Array II Java 70
82 Remove Duplicates from Sorted List II Java 75
83 Remove Duplicates from Sorted List Java 100
84 Largest Rectangle in Histogram Java 70
85 Maximal Rectangle Java 75
86 Partition List Java 90
88 Merge Sorted Array Java 100
90 Subsets II Java 80
91 Decode Ways Java 75 这题多做几遍,包括#639
92 Reverse Linked List II Java 80
93 Restore IP Addresses Java 80 多看两遍
94 Binary Tree Inorder Traversal Java 100
95 Unique Binary Search Trees II Java 70 多做几遍,递归和DP
96 Unique Binary Search Trees Java 80
98 Validate Binary Search Tree Java 85 注意溢出
99 Recover Binary Search Tree Java 60 这题很容易错,要多做几遍
100 Same Tree Java 100
101 Symmetric Tree Java 95
102 Binary Tree Level Order Traversal Java 85
103 Binary Tree Zigzag Level Order Traversal Java 80
104 Maximum Depth of Binary Tree Java 100
105 Construct Binary Tree from Preorder and Inorder Traversal Java 95
106 Construct Binary Tree from Inorder and Postorder Traversal Java 90
107 Binary Tree Level Order Traversal II Java 100
108 Convert Sorted Array to Binary Search Tree Java 100
109 Convert Sorted List to Binary Search Tree Java 90
110 Balanced Binary Tree Java 80
111 Minimum Depth of Binary Tree Java 80
112 Path Sum Java 85
113 Path Sum II Java 65 错了好几次,得多做几遍
114 Flatten Binary Tree to Linked List Java 80
116 Populating Next Right Pointers in Each Node Java 80
117 Populating Next Right Pointers in Each Node II Java 80
118 Pascal's Triangle Java 80
119 Pascal's Triangle II Java 80
121 Best Time to Buy and Sell Stock Java 100
122 Best Time to Buy and Sell Stock II Java 100
123 Best Time to Buy and Sell Stock III Java 75
124 Binary Tree Maximum Path Sum Java 60
125 Valid Palindrome Java 100
126 Word Ladder II Java
127 Word Ladder Java 70 此题非常经典,务必连同ii多做几遍,将双端BFS吃透
128 Longest Consecutive Sequence Java 60
129 Sum Root to Leaf Numbers Java 100
130 Surrounded Regions Java 65
131 Palindrome Partitioning Java
132 Palindrome Partitioning II Java
133 Clone Graph Java 70 这题不难,多看两遍,BFS方法再做两遍
135 Candy Java 80
138 Copy List with Random Pointer Java 95 有一个易错点
139 Word Break Java 80 多看两遍
140 Word Break II Java 75 这题多做两遍,很典型
141 Linked List Cycle Java 75
142 Linked List Cycle II Java 90
143 Reorder List Java 90
144 Binary Tree Preorder Traversal Java 85
145 Binary Tree Postorder Traversal Java 80
146 LRU Cache Java 95 好题目,多做几遍
147 Insertion Sort List Java 90
148 Sort List Java 90
149 Max Points on a Line Java 60
150 Evaluate Reverse Polish Notation Java 70
151 Reverse Words in a String Java 70 这题虽然不难,但是也错了几次
152 Maximum Product Subarray Java
153 Find Minimum in Rotated Sorted Array Java
154 Find Minimum in Rotated Sorted Array II Java
155 Min Stack Java 95
156 Binary Tree Upside Down Java 70 这道题挺有意思,多做几遍
157 Read N Characters Given Read4 Java 80 这题多做几遍,结合#158
158 Read N Characters Given Read4 II - Call multiple times Java 70
159 Longest Substring with At Most Two Distinct Characters Java 100 多看两遍
160 Intersection of Two Linked Lists Java 100
161 One Edit Distance Java 85 和#72做两遍
162 Find Peak Element Java 90
163 Missing Ranges Java 65 多做几遍,太容易错了
164 Maximum Gap Java 65
167 Two Sum II - Input array is sorted Java 100
168 Excel Sheet Column Title Java
169 Majority Element Java 100
170 Two Sum III - Data structure design Java 100 这道题再多做一遍
171 Excel Sheet Column Number Java
172 Factorial Trailing Zeroes Java 100
173 Binary Search Tree Iterator Java 70 多留意一下
179 Largest Number Java 90
186 Reverse Words in a String II Java 90
188 Best Time to Buy and Sell Stock IV Java
189 Rotate Array Java 100
190 Reverse Bits Java 85
198 House Robber Java 80
199 Binary Tree Right Side View Java 80
200 Number of Islands Java 85 这道题很经典,而且方法不止一种,每种方法都多做几遍,包括UF,#305
203 Remove Linked List Elements Java
204 Count Primes Java 85
206 Reverse Linked List Java 90
207 Course Schedule Java 100 典型的拓扑排序
208 Implement Trie (Prefix Tree) Java 80 和#211多留意,trie很典型
209 Minimum Size Subarray Sum Java 85
210 Course Schedule II Java 95
211 Add and Search Word - Data structure design Java 85
212 Word Search II Java
213 House Robber II Java 80
214 Shortest Palindrome Java
215 Kth Largest Element in an Array Java 65 这题很经典,三种解法都要了然于胸
216 Combination Sum III Java 65
217 Contains Duplicate Java 100
218 The Skyline Problem Java 60 这题多做两遍
219 Contains Duplicate II Java 95
220 Contains Duplicate III Java 65
221 Maximal Square Java 80
222 Count Complete Tree Nodes Java 70 一般的做法会超时
223 Rectangle Area Java 95
224 Basic Calculator Java 80
225 Implement Stack using Queues Java 90
226 Invert Binary Tree Java 80
228 Summary Ranges Java 70
229 Majority Element II Java 70
230 Kth Smallest Element in a BST Java 85 注意Follow Up
232 Implement Queue using Stacks Java 95
233 Number of Digit One Java
234 Palindrome Linked List Java 75
235 Lowest Common Ancestor of a Binary Search Tree Java 100
236 Lowest Common Ancestor of a Binary Tree Java 50 这题很经典,多做几遍,留意节点不在树中的情况
237 Delete Node in a Linked List Java 100
238 Product of Array Except Self Java 85
239 Sliding Window Maximum Java 75 这题非常经典,多做几遍,包括常规算法(优先队列,treemap)及优化算法双端队列
240 Search a 2D Matrix II Java 100
241 Different Ways to Add Parentheses Java
242 Valid Anagram Java 100
243 Shortest Word Distance Java 80
244 Shortest Word Distance II Java 80
245 Shortest Word Distance III Java 80
246 Strobogrammatic Number Java 70 #247一个系列,多看两遍
247 Strobogrammatic Number II Java 70 多看两遍
249 Group Shifted Strings Java
250 Count Univalue Subtrees Java 70 这题要多做几遍
251 Flatten 2D Vector Java 100
252 Meeting Rooms Java 100
253 Meeting Rooms II Java 90
254 Factor Combinations Java 80
255 Verify Preorder Sequence in Binary Search Tree Java 85 很简单,粗心错了
256 Paint House Java 95
257 Binary Tree Paths Java 80
259 3Sum Smaller Java 95 这题虽然简单,但是因为思维定式还是错了几次
261 Graph Valid Tree Java 70 这题多做几遍
263 Ugly Number Java 85
264 Ugly Number II Java 70
265 Paint House II Java 60
266 Palindrome Permutation Java 100
267 Palindrome Permutation II Java 80 典型,多看两遍
268 Missing Number Java 100
269 Alien Dictionary Java 70 这题要多做几遍
270 Closest Binary Search Tree Value Java 90
271 Encode and Decode Strings Java 65 思路巧妙,多看几遍
272 Closest Binary Search Tree Value II Java 60 这题非常值得多做几遍,几种写法都试试
273 Integer to English Words Java 75 多做几遍,做到bug free
274 H-Index Java 80
275 H-Index II Java 75
277 Find the Celebrity Java 100
278 First Bad Version Java 100
279 Perfect Squares Java 95
280 Wiggle Sort Java 80 思路巧妙,多看两遍
281 Zigzag Iterator Java 85 多做三遍,考虑扩展到k的情况
282 Expression Add Operators Java 50
283 Move Zeroes Java 100
284 Peeking Iterator Java 100
285 Inorder Successor in BST Java 70 这道题有意思,要多做几遍
286 Walls and Gates Java 70 多看两遍
287 Find the Duplicate Number Java
288 Unique Word Abbreviation Java 70 这题不难,多做两遍,题目意思容易理解错
289 Game of Life Java 70
293 Flip Game Java 90
294 Flip Game II Java 90
295 Find Median from Data Stream Java
297 Serialize and Deserialize Binary Tree Java 80 好题目,多做做,递归的非递归的
298 Binary Tree Longest Consecutive Sequence Java 70 多做三遍,尽可能简洁
299 Bulls and Cows Java
300 Longest Increasing Subsequence Java
301 Remove Invalid Parentheses Java 70 比较难,多做几遍
302 Smallest Rectangle Enclosing Black Pixels Java
303 Range Sum Query - Immutable Java 100
304 Range Sum Query 2D - Immutable Java 65
305 Number of Islands II Java 70 这题多做几遍,经典的UF
307 Range Sum Query - Mutable Java 70 和#303, #304, #308定要多做几遍,掌握BIT
308 Range Sum Query 2D - Mutable Java 70
309 Best Time to Buy and Sell Stock with Cooldown Java
310 Minimum Height Trees Java 60 这题多做几遍
311 Sparse Matrix Multiplication Java 80
312 Burst Balloons Java 60
313 Super Ugly Number Java
314 Binary Tree Vertical Order Traversal Java 80
315 Count of Smaller Numbers After Self Java 60
316 Remove Duplicate Letters Java 70
317 Shortest Distance from All Buildings Java 75 典型的bfs,多做两遍
319 Bulb Switcher Java 90
320 Generalized Abbreviation Java 70 这题是典型的back tracking,多做几遍
322 Coin Change Java 80
323 Number of Connected Components in an Undirected Graph Java 90 典型的图,多看两遍
324 Wiggle Sort II Java 60
325 Maximum Size Subarray Sum Equals k Java 75 这题思路有意思,多做几遍
328 Odd Even Linked List Java 90
329 Longest Increasing Path in a Matrix Java 70 这题要多做几遍
332 Reconstruct Itinerary Java
333 Largest BST Subtree Java 50 这道题虽然不难,但是折腾了很久,一定要多做
334 Increasing Triplet Subsequence Java 75
335 Self Crossing Java 80
336 Palindrome Pairs Java
337 House Robber III Java 70 建议再做两遍
339 Nested List Weight Sum Java
340 Longest Substring with At Most K Distinct Characters Java 80 和#159类似
341 Flatten Nested List Iterator Java 75 这题有点意思,多做两遍
344 Reverse String Java 100
345 Reverse Vowels of a String Java 100
346 Moving Average from Data Stream Java 95
347 Top K Frequent Elements Java 85
349 Intersection of Two Arrays Java
350 Intersection of Two Arrays II Java
351 Android Unlock Patterns Java 70 这题多做几遍
357 Count Numbers with Unique Digits Java
358 Rearrange String k Distance Apart Java
359 Logger Rate Limiter Java 100 这题如果不考虑空间消耗的话其实很简单
361 Bomb Enemy Java 65 这题多做几遍,开始没思路
364 Nested List Weight Sum II Java
366 Find Leaves of Binary Tree Java 60 这道题刚开始还没思路
367 Valid Perfect Square Java
369 Plus One Linked List Java 100
370 Range Addition Java 80
373 Find K Pairs with Smallest Sums Java
374 Guess Number Higher or Lower Java 100
375 Guess Number Higher or Lower II Java 60
377 Combination Sum IV Java 65
378 Kth Smallest Element in a Sorted Matrix Java
380 Insert Delete GetRandom O(1) Java 75 这道题很有意思,多做几遍
381 Insert Delete GetRandom O(1) - Duplicates allowed Java
382 Linked List Random Node Java
384 Shuffle an Array Java 75
387 First Unique Character in a String Java 100
388 Longest Absolute File Path Java 65 其实不难,乍看没思路,多做几遍
391 Perfect Rectangle Java 70 这题很trick,多做两遍
393 UTF-8 Validation Java 60 错了很多次,多做几遍
394 Decode String Java 75 这题容易错,多做四遍
395 Longest Substring with At Least K Repeating Characters Java 65
398 Random Pick Index Java 80
399 Evaluate Division Java 60 这题多做几遍
401 Binary Watch Java
404 Sum of Left Leaves Java 80
406 Queue Reconstruction by Height Java 60 这题开始没思路,多做几遍
407 Trapping Rain Water II Java
408 Valid Word Abbreviation Java 80 多做两遍
409 Longest Palindrome Java
410 Split Array Largest Sum Java
412 Fizz Buzz Java 100
413 Third Maximum Number Java 80
418 Sentence Screen Fitting Java 65 这题思路巧妙,多做几遍,常规思路超时
422 Valid Word Square Java 90
425 Word Squares Java 70 这题很典型,多做几遍
436 Find Right Interval Java
437 Path Sum III Java 60 这道题错了很多遍,要重点关注
438 Find All Anagrams in a String Java 75 这道题非常经典,最优解法需要多做几遍,保证once bug free
442 Find All Duplicates in an Array Java 80
445 Add Two Numbers II Java 80
448 Find All Numbers Disappeared in an Array Java 80
449 Serialize and Deserialize BST Java 90 和#297一样
450 Delete Node in a BST Java 60 这题非常经典,值得多做十遍
451 Sort Characters By Frequency Java
459 Repeated Substring Pattern Java
477 Total Hamming Distance Java
480 Sliding Window Median Java 70
482 License Key Formatting Java 90
483 Smallest Good Base Java
485 Max Consecutive Ones Java 100
487 Max Consecutive Ones II Java 80
501 Find Mode in Binary Search Tree Java 70 不难,容易错,多做两次
508 Most Frequent Subtree Sum Java
513 Find Bottom Left Tree Value Java 100
515 Find Largest Value in Each Tree Row Java 100
524 Longest Word in Dictionary through Deleting Java
526 Beautiful Arrangement Java 80
535 Encode and Decode TinyURL Java 100
538 Convert BST to Greater Tree Java 100
541 Reverse String II Java 100
543 Diameter of Binary Tree Java 80 这题易错
547 Friend Circles Java 70
557 Reverse Words in a String III Java 100
560 Subarray Sum Equals K Java 70
563 Binary Tree Tilt Java 90
564 Find the Closest Palindrome Java 80 此题暴力法即可
572 Subtree of Another Tree Java 80
606 Construct String from Binary Tree Java 90
617 Merge Two Binary Trees Java 100 很简单
621 Task Scheduler Java 70
637 Average of Levels in Binary Tree Java 100
652 Find Duplicate Subtrees Java 70 开始还没思路
653 Two Sum IV - Input is a BST Java 90
654 Maximum Binary Tree Java 100
669 Trim a Binary Search Tree Java 100
681 Next Closest Time Java 80 这题多做几遍
683 K Empty Slots Java 80
684 Redundant Connection Java
687 Longest Univalue Path Java 70
695 Max Area of Island Java 100
703 Kth Largest Element in a Stream Java 100
771 Jewels and Stones Java 100
814 Binary Tree Pruning Java 80
819 Most Common Word Java 85
843 Guess the Word Java 90
844 Backspace String Compare Java 100
849 Maximize Distance to Closest Person Java 80
857 Minimum Cost to Hire K Workers Java 70
872 Leaf-Similar Trees Java 80
889 Construct Binary Tree from Preorder and Postorder Traversal Java 80
904 Fruit Into Baskets Java 90
929 Unique Email Addresses Java 90
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].