Leetcode难度表及解题汇总
参考网上一份题目难度表,以及本人的解题。
Id | Question | Difficulty | Frequency | Data Structures | Algorithms | Blog | Comment |
---|---|---|---|---|---|---|---|
1 | Two Sum | 2 | 5 | array+set | sort+2ptr | ||
2 | Add Two Numbers | 3 | 4 | linkedlist | math+2ptr | Leetcode解题-链表(2.2.1)AddTwoNumbers | |
3 | Longest Substring Without Repeating Characters | 3 | 2 | string+hashtable | 2ptr | ||
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 | 2ptr | ||
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 | 2ptr | ||
16 | 3Sum Closest | 3 | 1 | array | 2ptr | ||
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 | linkedlist | 2ptr | ||
20 | Valid Parentheses | 2 | 5 | string | stack | ||
21 | Merge Two Sorted Lists | 2 | 5 | linkedlist | sort+2ptr+merge | ||
22 | Generate Parentheses | 3 | 4 | string | dfs | ||
23 | Merge k Sorted Lists | 3 | 4 | linkedlist+heap | sort+2ptr+merge | ||
24 | Swap Nodes in Pairs | 2 | 4 | linkedlist | |||
25 | Reverse Nodes in k-Group | 4 | 2 | linkedlist | recursion+2ptr | ||
26 | Remove Duplicates from Sorted Array | 1 | 3 | array | 2ptr | ||
27 | Remove Element | 1 | 4 | array | 2ptr | ||
28 | Implement strStr() | 4 | 5 | string | 2ptr+KMP+rolling hash | ||
29 | Divide Two Integers | 4 | 3 | binary search+math | |||
30 | Substring with Concatenation of All Words | 3 | 1 | string | 2ptr | ||
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 | 2ptr | ||
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 | 2ptr+stack | ||
43 | Multiply Strings | 4 | 3 | string | 2ptr+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 | |||
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+linkedlist+red-black tree | sort+merge | ||
57 | Insert Interval | 4 | 5 | array+linkedlist+red-black tree | sort+merge | ||
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 | linkedlist | 2ptr | Leetcode解题-链表(2.2.6)RotateList | |
62 | Unique Paths | 2 | 3 | array | dp | ||
63 | Unique Paths II | 3 | 3 | array | dp | ||
64 | Minimum Path Sum | 3 | 3 | array | math | ||
65 | Valid Number | 2 | 5 | string | math | ||
66 | Plus One | 1 | 2 | array | math | ||
67 | Add Binary | 2 | 4 | string | 2ptr+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+2ptr | ||
76 | Minimum Window Substring | 4 | 2 | string | 2ptr | ||
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 | binary search | ||
81 | Search in Rotated Sorted Array II | 5 | 3 | array | binary search | ||
82 | Remove Duplicates from Sorted List II | 3 | 3 | linkedlist | recursion+2ptr | ||
83 | Remove Duplicates from Sorted List | 1 | 3 | linkedlist | |||
84 | Largest Rectangle in Histogram | 5 | 2 | array | stack | ||
85 | Maximal Rectangle | 5 | 1 | array | dp+stack | ||
86 | Partition List | 3 | 3 | linkedlist | 2ptr | Leetcode解题-链表(2.2.3)PartitionList | |
87 | Scramble String | 5 | 2 | string | recursion+dp | ||
88 | Merge Sorted Array | 2 | 5 | array | 2ptr+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 | linkedlist | 2ptr | ||
93 | Restore IP Addresses | 3 | 3 | string | dfs | ||
94 | Binary Tree Inorder Traversal | 4 | 3 | tree+hashtable | recursion+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 | dfs | ||
103 | Binary Tree Zigzag Level Order Traversal | 4 | 3 | queue+tree | bfs+stack | ||
104 | Maximum Depth of Binary Tree | 1 | 1 | tree | dfs | ||
105 | Construct Binary Tree from Preorder and Inorder | 3 | 3 | array+tree | dfs | ||
106 | Construct Binary Tree from Inorder and Postorder | 3 | 3 | array+tree | dfs | ||
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 | linkedlist | recursion+2ptr | ||
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 | 2ptr | ||
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 |