Skip to content

wcoder0/Leetcode-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Repository files navigation

Leetcode - Java

一、电子书(pdf)

Latex排版整理的电子书



二、文档列表



三、所有题目列表

#TitleSolutionScoreBackup
1Two SumJava100
2Add Two NumbersJava80
3Longest Substring Without Repeating CharactersJava这个系列的所有题都要多做几遍
4Median of Two Sorted ArraysJava70这题很经典,多做几遍
5Longest Palindromic SubstringJava85这题对比动态规划和最优算法
6ZigZag ConversionJava
7Reverse IntegerJava95
8String to Integer (atoi)Java90很考代码能力,容易错
9Palindrome NumberJava
10Regular Expression MatchingJava60这题很经典,多做几遍,和#44一起
11Container With Most WaterJava
12Integer to RomanJava
13Roman to IntegerJava
14Longest Common PrefixJava
153SumJava70
163Sum ClosestJava
17Letter Combinations of a Phone NumberJava85
184SumJava
19Remove Nth Node From End of ListJava
20Valid ParenthesesJava100
21Merge Two Sorted ListsJava90
22Generate ParenthesesJava80这题看两遍
23Merge k Sorted ListsJava70
24Swap Nodes in PairsJava
25Reverse Nodes in k-GroupJava80
26Remove Duplicates from Sorted ArrayJava80
27Remove ElementJava
28 Implement strStr()Java70
29Divide Two IntegersJava
30Substring with Concatenation of All WordsJava
31Next PermutationJava
32Longest Valid ParenthesesJava
33Search in Rotated Sorted ArrayJava80
34Search for a RangeJava
35Search Insert PositionJava
36Valid SudokuJava80
37Sudoku SolverJava70这道题是典型的back tracking,多做几遍
38Count and SayJava80
39Combination SumJava70排列组合系列的题要多做几遍
40Combination Sum IIJava70
41First Missing PositiveJava
42Trapping Rain WaterJava95
43Multiply StringsJava80
44Wildcard MatchingJava60和#10多做几遍
45Jump Game IIJava
46PermutationsJava
47Permutations IIJava70多做几遍
48Rotate ImageJava100
49Group AnagramsJava95
50Pow(x, n)Java80
51N-QueensJava
52N-Queens IIJava
53Maximum SubarrayJava95
54Spiral MatrixJava85
55Jump GameJava
56Merge IntervalsJava70
57Insert IntervalJava75这题要多做几遍
60Permutation SequenceJava70这题思路巧妙,多做两遍
61Rotate ListJava90
66Plus OneJava100这题多看一遍
67Add BinaryJava100
68Text JustificationJava
69Sqrt(x)Java85
71Simplify PathJava80
72Edit DistanceJava75
73Set Matrix ZeroesJava90
74Search a 2D MatrixJava
75Sort ColorsJava65这题多做几遍,很有意思
76Minimum Window SubstringJava50这题以及类似的题一定要多做几遍,很经典,参见window
77CombinationsJava
78SubsetsJava85
79Word SearchJava85
80Remove Duplicates from Sorted Array IIJava100
81Search in Rotated Sorted Array IIJava70
82Remove Duplicates from Sorted List IIJava75
83Remove Duplicates from Sorted ListJava100
84Largest Rectangle in HistogramJava70
85Maximal RectangleJava75
86Partition ListJava90
88Merge Sorted ArrayJava100
90Subsets IIJava80
91Decode WaysJava75这题多做几遍,包括#639
92Reverse Linked List IIJava80
93Restore IP AddressesJava80多看两遍
94Binary Tree Inorder TraversalJava100
95Unique Binary Search Trees IIJava70多做几遍,递归和DP
96Unique Binary Search TreesJava80
98Validate Binary Search TreeJava85注意溢出
99Recover Binary Search TreeJava60这题很容易错,要多做几遍
100Same TreeJava100
101Symmetric TreeJava95
102Binary Tree Level Order TraversalJava85
103Binary Tree Zigzag Level Order TraversalJava80
104Maximum Depth of Binary TreeJava100
105Construct Binary Tree from Preorder and Inorder TraversalJava95
106Construct Binary Tree from Inorder and Postorder TraversalJava90
107Binary Tree Level Order Traversal IIJava100
108Convert Sorted Array to Binary Search TreeJava100
109Convert Sorted List to Binary Search TreeJava90
110Balanced Binary TreeJava80
111Minimum Depth of Binary TreeJava80
112Path SumJava85
113Path Sum IIJava65错了好几次,得多做几遍
114Flatten Binary Tree to Linked ListJava80
116Populating Next Right Pointers in Each NodeJava80
117Populating Next Right Pointers in Each Node IIJava80
118Pascal's TriangleJava80
119Pascal's Triangle IIJava80
121Best Time to Buy and Sell StockJava100
122Best Time to Buy and Sell Stock IIJava100
123Best Time to Buy and Sell Stock IIIJava75
124Binary Tree Maximum Path SumJava60
125Valid PalindromeJava100
126Word Ladder IIJava
127Word LadderJava70此题非常经典,务必连同ii多做几遍,将双端BFS吃透
128Longest Consecutive SequenceJava60
129Sum Root to Leaf NumbersJava100
130Surrounded RegionsJava65
131Palindrome PartitioningJava
132Palindrome Partitioning IIJava
133Clone GraphJava70这题不难,多看两遍,BFS方法再做两遍
135CandyJava80
138Copy List with Random PointerJava95有一个易错点
139Word BreakJava80多看两遍
140Word Break IIJava75这题多做两遍,很典型
141Linked List CycleJava75
142Linked List Cycle IIJava90
143Reorder ListJava90
144Binary Tree Preorder TraversalJava85
145Binary Tree Postorder TraversalJava80
146LRU CacheJava95好题目,多做几遍
147Insertion Sort ListJava90
148Sort ListJava90
149Max Points on a LineJava60
150Evaluate Reverse Polish NotationJava70
151Reverse Words in a StringJava70这题虽然不难,但是也错了几次
152Maximum Product SubarrayJava
153Find Minimum in Rotated Sorted ArrayJava
154Find Minimum in Rotated Sorted Array IIJava
155Min StackJava95
156Binary Tree Upside DownJava70这道题挺有意思,多做几遍
157Read N Characters Given Read4Java80这题多做几遍,结合#158
158Read N Characters Given Read4 II - Call multiple timesJava70
159Longest Substring with At Most Two Distinct CharactersJava100多看两遍
160Intersection of Two Linked ListsJava100
161One Edit DistanceJava85和#72做两遍
162Find Peak ElementJava90
163Missing RangesJava65多做几遍,太容易错了
164Maximum GapJava65
167Two Sum II - Input array is sortedJava100
168Excel Sheet Column TitleJava
169Majority ElementJava100
170Two Sum III - Data structure designJava100这道题再多做一遍
171Excel Sheet Column NumberJava
172Factorial Trailing ZeroesJava100
173Binary Search Tree IteratorJava70多留意一下
179Largest NumberJava90
186Reverse Words in a String IIJava90
188Best Time to Buy and Sell Stock IVJava
189Rotate ArrayJava100
190Reverse BitsJava85
198House RobberJava80
199Binary Tree Right Side ViewJava80
200Number of IslandsJava85这道题很经典,而且方法不止一种,每种方法都多做几遍,包括UF,#305
203Remove Linked List ElementsJava
204Count PrimesJava85
206Reverse Linked ListJava90
207Course ScheduleJava100典型的拓扑排序
208Implement Trie (Prefix Tree)Java80和#211多留意,trie很典型
209Minimum Size Subarray SumJava85
210Course Schedule IIJava95
211Add and Search Word - Data structure designJava85
212Word Search IIJava
213House Robber IIJava80
214Shortest PalindromeJava
215Kth Largest Element in an ArrayJava65这题很经典,三种解法都要了然于胸
216Combination Sum IIIJava65
217Contains DuplicateJava100
218The Skyline ProblemJava60这题多做两遍
219Contains Duplicate IIJava95
220Contains Duplicate IIIJava65
221Maximal SquareJava80
222Count Complete Tree NodesJava70一般的做法会超时
223Rectangle AreaJava95
224Basic CalculatorJava80
225Implement Stack using QueuesJava90
226Invert Binary TreeJava80
228Summary RangesJava70
229Majority Element IIJava70
230Kth Smallest Element in a BSTJava85注意Follow Up
232Implement Queue using StacksJava95
233Number of Digit OneJava
234Palindrome Linked ListJava75
235Lowest Common Ancestor of a Binary Search TreeJava100
236Lowest Common Ancestor of a Binary TreeJava50这题很经典,多做几遍,留意节点不在树中的情况
237Delete Node in a Linked ListJava100
238Product of Array Except SelfJava85
239Sliding Window MaximumJava75这题非常经典,多做几遍,包括常规算法(优先队列,treemap)及优化算法双端队列
240Search a 2D Matrix IIJava100
241Different Ways to Add ParenthesesJava
242Valid AnagramJava100
243Shortest Word DistanceJava80
244Shortest Word Distance IIJava80
245Shortest Word Distance IIIJava80
246Strobogrammatic NumberJava70#247一个系列,多看两遍
247Strobogrammatic Number IIJava70多看两遍
249Group Shifted StringsJava
250Count Univalue SubtreesJava70这题要多做几遍
251Flatten 2D VectorJava100
252Meeting RoomsJava100
253Meeting Rooms IIJava90
254Factor CombinationsJava80
255Verify Preorder Sequence in Binary Search TreeJava85很简单,粗心错了
256Paint HouseJava95
257Binary Tree PathsJava80
2593Sum SmallerJava95这题虽然简单,但是因为思维定式还是错了几次
261Graph Valid TreeJava70这题多做几遍
263Ugly NumberJava85
264Ugly Number IIJava70
265Paint House IIJava60
266Palindrome PermutationJava100
267Palindrome Permutation IIJava80典型,多看两遍
268Missing NumberJava100
269Alien DictionaryJava70这题要多做几遍
270Closest Binary Search Tree ValueJava90
271Encode and Decode StringsJava65思路巧妙,多看几遍
272Closest Binary Search Tree Value IIJava60这题非常值得多做几遍,几种写法都试试
273Integer to English WordsJava75多做几遍,做到bug free
274H-IndexJava80
275H-Index IIJava75
277Find the CelebrityJava100
278First Bad VersionJava100
279Perfect SquaresJava95
280Wiggle SortJava80思路巧妙,多看两遍
281Zigzag IteratorJava85多做三遍,考虑扩展到k的情况
282Expression Add OperatorsJava50
283Move ZeroesJava100
284Peeking IteratorJava100
285Inorder Successor in BSTJava70这道题有意思,要多做几遍
286Walls and GatesJava70多看两遍
287Find the Duplicate NumberJava
288Unique Word AbbreviationJava70这题不难,多做两遍,题目意思容易理解错
289Game of LifeJava70
293Flip GameJava90
294Flip Game IIJava90
295Find Median from Data StreamJava
297Serialize and Deserialize Binary TreeJava80好题目,多做做,递归的非递归的
298Binary Tree Longest Consecutive SequenceJava70多做三遍,尽可能简洁
299Bulls and CowsJava
300Longest Increasing SubsequenceJava
301Remove Invalid ParenthesesJava70比较难,多做几遍
302Smallest Rectangle Enclosing Black PixelsJava
303Range Sum Query - ImmutableJava100
304Range Sum Query 2D - ImmutableJava65
305Number of Islands IIJava70这题多做几遍,经典的UF
307Range Sum Query - MutableJava70和#303, #304, #308定要多做几遍,掌握BIT
308Range Sum Query 2D - MutableJava70
309Best Time to Buy and Sell Stock with CooldownJava
310Minimum Height TreesJava60这题多做几遍
311Sparse Matrix MultiplicationJava80
312Burst BalloonsJava60
313Super Ugly NumberJava
314Binary Tree Vertical Order TraversalJava80
315Count of Smaller Numbers After SelfJava60
316Remove Duplicate LettersJava70
317Shortest Distance from All BuildingsJava75典型的bfs,多做两遍
319Bulb SwitcherJava90
320Generalized AbbreviationJava70这题是典型的back tracking,多做几遍
322Coin ChangeJava80
323Number of Connected Components in an Undirected GraphJava90典型的图,多看两遍
324Wiggle Sort IIJava60
325Maximum Size Subarray Sum Equals kJava75这题思路有意思,多做几遍
328Odd Even Linked ListJava90
329Longest Increasing Path in a MatrixJava70这题要多做几遍
332Reconstruct ItineraryJava
333Largest BST SubtreeJava50这道题虽然不难,但是折腾了很久,一定要多做
334Increasing Triplet SubsequenceJava75
335Self CrossingJava80
336Palindrome PairsJava
337House Robber IIIJava70建议再做两遍
339Nested List Weight SumJava
340Longest Substring with At Most K Distinct CharactersJava80和#159类似
341Flatten Nested List IteratorJava75这题有点意思,多做两遍
344Reverse StringJava100
345Reverse Vowels of a StringJava100
346Moving Average from Data StreamJava95
347Top K Frequent ElementsJava85
349Intersection of Two ArraysJava
350Intersection of Two Arrays IIJava
351Android Unlock PatternsJava70这题多做几遍
357Count Numbers with Unique DigitsJava
358Rearrange String k Distance ApartJava
359Logger Rate LimiterJava100这题如果不考虑空间消耗的话其实很简单
361Bomb EnemyJava65这题多做几遍,开始没思路
364Nested List Weight Sum IIJava
366Find Leaves of Binary TreeJava60这道题刚开始还没思路
367Valid Perfect SquareJava
369Plus One Linked ListJava100
370Range AdditionJava80
373Find K Pairs with Smallest SumsJava
374Guess Number Higher or LowerJava100
375Guess Number Higher or Lower IIJava60
377Combination Sum IVJava65
378Kth Smallest Element in a Sorted MatrixJava
380Insert Delete GetRandom O(1)Java75这道题很有意思,多做几遍
381Insert Delete GetRandom O(1) - Duplicates allowedJava
382Linked List Random NodeJava
384Shuffle an ArrayJava75
387First Unique Character in a StringJava100
388Longest Absolute File PathJava65其实不难,乍看没思路,多做几遍
391Perfect RectangleJava70这题很trick,多做两遍
393UTF-8 ValidationJava60错了很多次,多做几遍
394Decode StringJava75这题容易错,多做四遍
395Longest Substring with At Least K Repeating CharactersJava65
398Random Pick IndexJava80
399Evaluate DivisionJava60这题多做几遍
401Binary WatchJava
404Sum of Left LeavesJava80
406Queue Reconstruction by HeightJava60这题开始没思路,多做几遍
407Trapping Rain Water IIJava
408Valid Word AbbreviationJava80多做两遍
409Longest PalindromeJava
410Split Array Largest SumJava
412Fizz BuzzJava100
413Third Maximum NumberJava80
418Sentence Screen FittingJava65这题思路巧妙,多做几遍,常规思路超时
422Valid Word SquareJava90
425Word SquaresJava70这题很典型,多做几遍
436Find Right IntervalJava
437Path Sum IIIJava60这道题错了很多遍,要重点关注
438Find All Anagrams in a StringJava75这道题非常经典,最优解法需要多做几遍,保证once bug free
442Find All Duplicates in an ArrayJava80
445Add Two Numbers IIJava80
448Find All Numbers Disappeared in an ArrayJava80
449Serialize and Deserialize BSTJava90和#297一样
450Delete Node in a BSTJava60这题非常经典,值得多做十遍
451Sort Characters By FrequencyJava
459Repeated Substring PatternJava
477Total Hamming DistanceJava
480Sliding Window MedianJava70
482License Key FormattingJava90
483Smallest Good BaseJava
485Max Consecutive OnesJava100
487Max Consecutive Ones IIJava80
501Find Mode in Binary Search TreeJava70不难,容易错,多做两次
508Most Frequent Subtree SumJava
513Find Bottom Left Tree ValueJava100
515Find Largest Value in Each Tree RowJava100
524Longest Word in Dictionary through DeletingJava
526Beautiful ArrangementJava80
535Encode and Decode TinyURLJava100
538Convert BST to Greater TreeJava100
541Reverse String IIJava100
543Diameter of Binary TreeJava80这题易错
547Friend CirclesJava70
557Reverse Words in a String IIIJava100
560Subarray Sum Equals KJava70
563Binary Tree TiltJava90
564Find the Closest PalindromeJava80此题暴力法即可
572Subtree of Another TreeJava80
606Construct String from Binary TreeJava90
617Merge Two Binary TreesJava100很简单
621Task SchedulerJava70
637Average of Levels in Binary TreeJava100
652Find Duplicate SubtreesJava70开始还没思路
653Two Sum IV - Input is a BSTJava90
654Maximum Binary TreeJava100
669Trim a Binary Search TreeJava100
681Next Closest TimeJava80这题多做几遍
683K Empty SlotsJava80
684Redundant ConnectionJava
687Longest Univalue PathJava70
695Max Area of IslandJava100
703Kth Largest Element in a StreamJava100
771Jewels and StonesJava100
814Binary Tree PruningJava80
819Most Common WordJava85
843Guess the WordJava90
844Backspace String CompareJava100
849Maximize Distance to Closest PersonJava80
857Minimum Cost to Hire K WorkersJava70
872Leaf-Similar TreesJava80
889Construct Binary Tree from Preorder and Postorder TraversalJava80
904Fruit Into BasketsJava90
929Unique Email AddressesJava90

About

Leetcode刷题之旅

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TeX60.1%
  • Java39.9%