LeetCode 題型速查表

嗡嗡的 LeetCode 個人解題筆記一覽表:依資料結構與演算法題型篩選,附難度與解題筆記連結,面試前快速複習用。

依題型整理我寫過解題筆記的 LeetCode 題目,點題名會開啟我的解題筆記(不是 LeetCode 原題頁)。同一題可能同時屬於多個題型。

難度 排序
篩選
資料結構
演算法
#解題筆記難度刷次資料結構演算法
1ETwo Sum4 刷
Hash Table
E4Hash Table
2MAdd Two Numbers
Linked ListDFSMath
M1Linked ListDFSMath
3MLongest Substring Without Repeating Characters2 刷
StringHash TableTwo Pointers
M2StringHash TableTwo Pointers
5MLongest Palindromic Substring3 刷
StringDynamic ProgrammingTwo Pointers
M3StringDynamic ProgrammingTwo Pointers
7MReverse Integer
Math
M1Math
9EPalindrome Number
Math
E1Math
10HRegular Expression Matching
StringDFSDynamic Programming
H1StringDFSDynamic Programming
11MContainer With Most Water2 刷
Two PointersGreedy
M2Two PointersGreedy
13ERoman to Integer
StringHash TableMath
E1StringHash TableMath
15M3Sum2 刷
Two PointersSorting
M2Two PointersSorting
16M3Sum Closest
Two PointersSorting
M1Two PointersSorting
17MLetter Combinations of a Phone Number
StringHash TableBacktracking
M1StringHash TableBacktracking
19MRemove Nth Node From End of List3 刷
Linked ListTwo Pointers
M3Linked ListTwo Pointers
20EValid Parentheses2 刷
StringStack
E2StringStack
21EMerge Two Sorted Lists2 刷
Linked ListDFS
E2Linked ListDFS
22MGenerate Parentheses2 刷
StringBacktrackingDynamic Programming
M2StringBacktrackingDynamic Programming
28EImplement strStr()
StringTwo Pointers
E1StringTwo Pointers
31MNext Permutation
Two Pointers
M1Two Pointers
32HLongest Valid Parentheses
StringStackDynamic Programming
H1StringStackDynamic Programming
33MSearch in Rotated Sorted Array★4 刷
Binary Search
M4Binary Search
34EFind First and Last Position of Element in Sorted Array
Binary Search
E1Binary Search
36MValid Sudoku
Hash Table
M1Hash Table
39MCombination Sum
Backtracking
M1Backtracking
40MCombination Sum II
Backtracking
M1Backtracking
42HTrapping Rain Water
StackDynamic ProgrammingTwo Pointers
H1StackDynamic ProgrammingTwo Pointers
44HWildcard Matching
DFSDynamic ProgrammingGreedy
H1DFSDynamic ProgrammingGreedy
45MJump Game II
Dynamic ProgrammingGreedy
M1Dynamic ProgrammingGreedy
46MPermutations★2 刷
Backtracking
M2Backtracking
47MPermutations II
BacktrackingSorting
M1BacktrackingSorting
48MRotate Image2 刷
Math
M2Math
49MGroup Anagrams
StringHash TableSorting
M1StringHash TableSorting
50MPow(x, n)
DFSMath
M1DFSMath
51HN-Queens
Backtracking
H1Backtracking
52HN-Queens II
Backtracking
H1Backtracking
53EMaximum Subarray3 刷
Binary SearchDynamic Programming
E3Binary SearchDynamic Programming
54MSpiral Matrix
Math
M1Math
55MJump Game
Dynamic ProgrammingGreedy
M1Dynamic ProgrammingGreedy
56MMerge Intervals2 刷
Sorting
M2Sorting
57MInsert Interval
Sorting
M1Sorting
61MRotate List
Linked ListTwo Pointers
M1Linked ListTwo Pointers
62MUnique Paths★
BacktrackingDynamic ProgrammingMath
M1BacktrackingDynamic ProgrammingMath
63MUnique Paths II
Dynamic Programming
M1Dynamic Programming
70EClimbing Stairs2 刷
Dynamic ProgrammingMath
E2Dynamic ProgrammingMath
73MSet Matrix Zeroes
Hash Table
M1Hash Table
74MSearch a 2D Matrix
Binary Search
M1Binary Search
75MSort Colors★
Two PointersSorting
M1Two PointersSorting
76HMinimum Window Substring
StringHash TableTwo Pointers
H1StringHash TableTwo Pointers
77MCombinations
Backtracking
M1Backtracking
78MSubsets★3 刷
BacktrackingMath
M3BacktrackingMath
79MWord Search3 刷
StringDFSBacktracking
M3StringDFSBacktracking
83ERemove Duplicates from Sorted List
Linked List
E1Linked List
88EMerge Sorted Array2 刷
Two PointersSorting
E2Two PointersSorting
90MSubsets II★
BacktrackingMath
M1BacktrackingMath
91MDecode Ways
StringDynamic Programming
M1StringDynamic Programming
94EBinary Tree Inorder Traversal
StackTreeDFS
E1StackTreeDFS
98MValidate Binary Search Tree
TreeDFS
M1TreeDFS
100ESame Tree
TreeBFSDFS
E1TreeBFSDFS
102MBinary Tree Level Order Traversal3 刷
TreeBFS
M3TreeBFS
103MBinary Tree Zigzag Level Order Traversal
TreeBFS
M1TreeBFS
104EMaximum Depth of Binary Tree2 刷
TreeBFSDFS
E2TreeBFSDFS
105MConstruct Binary Tree from Preorder and Inorder Traversal
Hash TableTreeBinary Search
M1Hash TableTreeBinary Search
107MBinary Tree Level Order Traversal II
TreeBFS
M1TreeBFS
110EBalanced Binary Tree
TreeDFS
E1TreeDFS
112EPath Sum
TreeBFSDFS
E1TreeBFSDFS
113MPath Sum II
TreeDFSBacktracking
M1TreeDFSBacktracking
114MFlatten Binary Tree to Linked List
StackLinked ListTree
M1StackLinked ListTree
118EPascal's Triangle
Dynamic Programming
E1Dynamic Programming
121EBest Time to Buy and Sell Stock3 刷
Dynamic Programming
E3Dynamic Programming
122MBest Time to Buy and Sell Stock II
Dynamic ProgrammingGreedy
M1Dynamic ProgrammingGreedy
125EValid Palindrome
StringTwo Pointers
E1StringTwo Pointers
126HWord Ladder II
StringBFSBacktracking
H1StringBFSBacktracking
127HWord Ladder
StringHash TableBFS
H1StringHash TableBFS
128MLongest Consecutive Sequence
Hash TableGraph
M1Hash TableGraph
131MPalindrome Partitioning
StringBacktrackingDynamic Programming
M1StringBacktrackingDynamic Programming
133MClone Graph★2 刷
GraphBFSDFS
M2GraphBFSDFS
134MGas Station
Greedy
M1Greedy
136ESingle Number
Math
E1Math
137MSingle Number II
Math
M1Math
139MWord Break
StringTreeDynamic Programming
M1StringTreeDynamic Programming
140HWord Break II
TreeBacktrackingDynamic Programming
H1TreeBacktrackingDynamic Programming
141ELinked List Cycle2 刷
Linked ListHash TableTwo Pointers
E2Linked ListHash TableTwo Pointers
142MLinked List Cycle II
Linked ListHash TableTwo Pointers
M1Linked ListHash TableTwo Pointers
144EBinary Tree Preorder Traversal
StackTreeDFS
E1StackTreeDFS
145EBinary Tree Postorder Traversal
StackTreeDFS
E1StackTreeDFS
146MLRU Cache★2 刷
Design Data StructureLinked ListHash Table
M2Design Data StructureLinked ListHash Table
152MMaximum Product Subarray
Dynamic Programming
M1Dynamic Programming
153MFind Minimum in Rotated Sorted Array3 刷
Binary Search
M3Binary Search
155EMin Stack
StackDesign Data Structure
E1StackDesign Data Structure
162MFind Peak Element
Binary Search
M1Binary Search
167MTwo Sum II - Input Array Is Sorted
Binary SearchTwo Pointers
M1Binary SearchTwo Pointers
173MBinary Search Tree Iterator★2 刷
StackDesign Data StructureTree
M2StackDesign Data StructureTree
189MRotate Array
Two PointersMath
M1Two PointersMath
191ENumber of 1 Bits
Binary SearchMath
E1Binary SearchMath
198MHouse Robber
Dynamic Programming
M1Dynamic Programming
200MNumber of Islands
GraphBFSDFS
M1GraphBFSDFS
202EHappy Number
Hash TableTwo PointersMath
E1Hash TableTwo PointersMath
203ERemove Linked List Elements
Linked ListDFS
E1Linked ListDFS
205EIsomorphic Strings
StringHash Table
E1StringHash Table
206EReverse Linked List2 刷
Linked ListDFS
E2Linked ListDFS
207MCourse Schedule2 刷
GraphBFSDFS
M2GraphBFSDFS
208MImplement Trie (Prefix Tree)
StringDesign Data StructureTree
M1StringDesign Data StructureTree
210MCourse Schedule II
GraphBFSDFS
M1GraphBFSDFS
212HWord Search II
StringTreeBacktracking
H1StringTreeBacktracking
213MHouse Robber II
Dynamic Programming
M1Dynamic Programming
215MKth Largest Element in an Array
HeapBinary SearchSorting
M1HeapBinary SearchSorting
216MCombination Sum III
Backtracking
M1Backtracking
217EContains Duplicate3 刷
Hash TableSorting
E3Hash TableSorting
221MMaximal Square
Dynamic Programming
M1Dynamic Programming
222MCount Complete Tree Nodes
TreeBinary SearchMath
M1TreeBinary SearchMath
226EInvert Binary Tree
TreeBFSDFS
E1TreeBFSDFS
228ESummary Ranges
Two Pointers
E1Two Pointers
230MKth Smallest Element in a BST
TreeDFS
M1TreeDFS
232EImplement Queue using Stacks
StackQueueDesign Data Structure
E1StackQueueDesign Data Structure
234EPalindrome Linked List
StackLinked ListTwo Pointers
E1StackLinked ListTwo Pointers
235ELowest Common Ancestor of a Binary Search Tree
TreeDFS
E1TreeDFS
236MLowest Common Ancestor of a Binary Tree★2 刷
TreeDFS
M2TreeDFS
238MProduct of Array Except Self3 刷
Hash Table
M3Hash Table
239HSliding Window Maximum
QueueHeapTwo Pointers
H1QueueHeapTwo Pointers
242EValid Anagram
StringHash TableSorting
E1StringHash TableSorting
257EBinary Tree Paths
TreeDFSBacktracking
E1TreeDFSBacktracking
263EUgly Number
Math
E1Math
264MUgly Number II
HeapDynamic ProgrammingMath
M1HeapDynamic ProgrammingMath
268EMissing Number
Binary SearchSortingMath
E1Binary SearchSortingMath
278EFirst Bad Version
Binary SearchMath
E1Binary SearchMath
283EMove Zeroes
Two Pointers
E1Two Pointers
290EWord Pattern
StringHash Table
E1StringHash Table
300MLongest Increasing Subsequence
Binary SearchDynamic Programming
M1Binary SearchDynamic Programming
309MBest Time to Buy and Sell Stock with Cooldown
Dynamic Programming
M1Dynamic Programming
322MCoin Change★
BFSDynamic Programming
M1BFSDynamic Programming
332HReconstruct Itinerary
HeapGraphSorting
H1HeapGraphSorting
338ECounting Bits
Dynamic ProgrammingMath
E1Dynamic ProgrammingMath
347MTop K Frequent Elements
HeapBinary SearchSorting
M1HeapBinary SearchSorting
349EIntersection of Two Arrays
Binary SearchTwo PointersSorting
E1Binary SearchTwo PointersSorting
350EIntersection of Two Arrays II3 刷
Binary SearchTwo PointersSorting
E3Binary SearchTwo PointersSorting
377MCombination Sum IV
Dynamic Programming
M1Dynamic Programming
383ERansom Note
StringHash Table
E1StringHash Table
387EFirst Unique Character in a String
StringQueueHash Table
E1StringQueueHash Table
409ELongest Palindrome
StringHash TableGreedy
E1StringHash TableGreedy
424MLongest Repeating Character Replacement★3 刷
StringHash TableTwo Pointers
M3StringHash TableTwo Pointers
435MNon-overlapping Intervals
Dynamic ProgrammingSortingGreedy
M1Dynamic ProgrammingSortingGreedy
494MTarget Sum
BacktrackingDynamic Programming
M1BacktrackingDynamic Programming
496ENext Greater Element I
StackHash Table
E1StackHash Table
503MNext Greater Element II
Stack
M1Stack
509EFibonacci Number
DFSDynamic ProgrammingMath
E1DFSDynamic ProgrammingMath
518MCoin Change 2
Dynamic Programming
M1Dynamic Programming
543EDiameter of Binary Tree2 刷
TreeDFS
E2TreeDFS
566EReshape the Matrix
Math
E1Math
572ESubtree of Another Tree
StringTreeDFS
E1StringTreeDFS
621MTask Scheduler
HeapSortingGreedy
M1HeapSortingGreedy
647MPalindromic Substrings
StringDynamic ProgrammingTwo Pointers
M1StringDynamic ProgrammingTwo Pointers
658MFind K Closest Elements
HeapBinary SearchSorting
M1HeapBinary SearchSorting
674ELongest Continuous Increasing Subsequence
Dynamic Programming
E1Dynamic Programming
678MValid Parenthesis String
StackDynamic ProgrammingGreedy
M1StackDynamic ProgrammingGreedy
680EValid Palindrome II
StringTwo PointersGreedy
E1StringTwo PointersGreedy
692MTop K Frequent Words
HeapTreeSorting
M1HeapTreeSorting
695MMax Area of Island
GraphBFSDFS
M1GraphBFSDFS
704EBinary Search2 刷
Binary Search
E2Binary Search
739MDaily Temperatures4 刷
Stack
M4Stack
746EMin Cost Climbing Stairs
Dynamic Programming
E1Dynamic Programming
763MPartition Labels
StringTwo PointersGreedy
M1StringTwo PointersGreedy
835MImage Overlap
Hash Table
M1Hash Table
836ERectangle Overlap
Math
E1Math
846MHand of Straights
Hash TableSortingGreedy
M1Hash TableSortingGreedy
852EPeak Index in a Mountain Array
Binary Search
E1Binary Search
856MScore of Parentheses
StringStack
M1StringStack
867ETranspose Matrix
Math
E1Math
876EMiddle of the Linked List
Linked ListTwo Pointers
E1Linked ListTwo Pointers
921MMinimum Add to Make Parentheses Valid
StringStackGreedy
M1StringStackGreedy
994MRotting Oranges2 刷
BFS
M2BFS
1021ERemove Outermost Parentheses
StringStack
E1StringStack
1091MShortest Path in Binary Matrix
BFS
M1BFS
1111MMaximum Nesting Depth of Two Valid Parentheses Strings
StringStack
M1StringStack
1143MLongest Common Subsequence
StringDynamic Programming
M1StringDynamic Programming
1190MReverse Substrings Between Each Pair of Parentheses
StringStack
M1StringStack
1401MCircle and Rectangle Overlapping
Math
M1Math
1477MFind Two Non-overlapping Sub-arrays Each With Target Sum
Hash TableBinary SearchTwo Pointers
M1Hash TableBinary SearchTwo Pointers
1520HMaximum Number of Non-Overlapping Substrings
Hash TableSortingGreedy
H1Hash TableSortingGreedy
1541MMinimum Insertions to Balance a Parentheses String
StringStackGreedy
M1StringStackGreedy
1614EMaximum Nesting Depth of the Parentheses
StringStack
E1StringStack
1658MMinimum Operations to Reduce X to Zero
Hash TableBinary SearchTwo Pointers
M1Hash TableBinary SearchTwo Pointers
1807MEvaluate the Bracket Pairs of a String
StringHash Table
M1StringHash Table
2089EFind Target Indices After Sorting Array
Binary SearchSorting
E1Binary SearchSorting
2185ECounting Words With a Given Prefix
String
E1String
2186MMinimum Number of Steps to Make Two Strings Anagram II
StringHash Table
M1StringHash Table
2243ECalculate Digit Sum of a String
StringMath
E1StringMath
2244MMinimum Rounds to Complete All Tasks
Hash TableGreedy
M1Hash TableGreedy
2248EIntersection of Multiple Arrays
Hash TableSorting
E1Hash TableSorting
2249MCount Lattice Points Inside a Circle
Hash TableBacktrackingMath
M1Hash TableBacktrackingMath
2259ERemove Digit From Number to Maximize Result
StringBacktrackingGreedy
E1StringBacktrackingGreedy
2260MMinimum Consecutive Cards to Pick Up
Hash TableTwo Pointers
M1Hash TableTwo Pointers
2261MK Divisible Elements Subarrays
StringTreeBacktracking
M1StringTreeBacktracking
2262HTotal Appeal of A String
StringHash TableDynamic Programming
H1StringHash TableDynamic Programming
2264ELargest 3-Same-Digit Number in String
String
E1String
2266MCount Number of Texts
StringDynamic ProgrammingMath
M1StringDynamic ProgrammingMath
2267HCheck if There Is a Valid Parentheses String Path2 刷
Dynamic Programming
H2Dynamic Programming
2273EFind Resultant Array After Removing Anagrams
StringHash TableSorting
E1StringHash TableSorting
2274MMaximum Consecutive Floors Without Special Floors
Sorting
M1Sorting
2472HMaximum Number of Non-overlapping Palindrome Substrings
Dynamic ProgrammingTwo PointersGreedy
H1Dynamic ProgrammingTwo PointersGreedy
2778ESum of Squares of Special Elements
Backtracking
E1Backtracking
2913ESubarrays Distinct Element Sum of Squares I
Hash Table
E1Hash Table
3498EReverse Degree of a String
StringMath
E1StringMath
3524MFind X Value of Array I
Dynamic ProgrammingMath
M1Dynamic ProgrammingMath
3550ESmallest Index With Digit Sum Equal to Index
Math
E1Math
3723MMaximize Sum of Squares of Digits
GreedyMath
M1GreedyMath
3727MMaximum Alternating Sum of Squares
SortingGreedy
M1SortingGreedy
Licensed under CC BY-NC-SA 4.0
使用 Hugo 建立
主題 Stack 由 Jimmy 設計