| 1 |
Two Sum |
Java、Go |
Easy |
Array |
!!! |
| 2 |
Add-Two-Numbers |
[Java](. /java/list/AddTwoNumbers.java) |
Medium |
List |
? |
| 3 |
Longest Substring Without Repeating Characters |
Go |
Medium |
Two Pointers |
? |
| 5 |
Longest-Palindromic-Substring |
Java |
Medium |
DP |
? |
| 8 |
String-To-Integer-Atoi |
Java |
Medium |
String |
? |
| 11 |
Container With Most Water |
Java、Go |
Medium |
Two Pointers |
?? |
| 14 |
Longest-Common-Prefix |
Java |
Easy |
String |
? |
| 15 |
3Sum |
Java |
Medium |
Two Pointers |
?? |
| 16 |
3Sum-Closest |
Go |
Medium |
Two Pointers |
? |
| 17 |
Letter-Combinations-Of-A-Phone-Number |
Java |
Medium |
Recursion |
? |
| 19 |
Remove-Nth-Node |
Java |
Medium |
Two Pointers |
?! |
| 20 |
Valid Parentheses |
Java |
Easy |
Stack |
??! |
| 21 |
Merge Two Sorted Lists |
Java |
Easy |
Recursion |
?! |
| 22 |
Generate Parentheses |
Java |
Medium |
DFS |
?? |
| 24 |
Swap Nodes in Pairs |
Java |
Medium |
|
??? |
| 25 |
Reverse Nodes in k-Group |
Java |
Hard |
|
? |
| 26 |
Remove Duplicates from Sorted Array |
Java |
Easy |
Two Pointers |
?! |
| 32 |
Longest Valid Parentheses |
|
Hard |
|
|
| 33 |
Search-In-Rotated-Sorted-Array |
Java |
Medium |
|
? |
| 36 |
Valid-Sudoku |
Java |
Medium |
|
? |
| 37 |
Sudoku-Solver |
Java |
Hard |
|
? |
| 39 |
Combination-Sum |
Java |
Medium |
DFS |
? |
| 42 |
Trapping Rain Water♥ |
Java |
Hard |
Stack、DP |
!? |
| 44 |
Wildcard-Matching |
Java |
Hard |
DP |
? |
| 45 |
Jump-Game-ii |
Java |
Hard |
|
? |
| 46 |
Permutations |
Java |
Medium |
|
? |
| 47 |
Permutations II |
Java |
Medium |
|
? |
| 49 |
Group Anagrams |
Java |
Medium |
HashMap |
!? |
| 50 |
PowX-N |
Java |
Medium |
|
? |
| 51 |
N-Queens |
Java |
Hard |
Backtracking |
? |
| 52 |
N-Queens-ii |
|
Hard |
|
|
| 53 |
Maximum-Subarray |
Java |
Easy |
|
!? |
| 54 |
Spiral-Matrix |
|
Medium |
|
|
| 55 |
Jump-Game |
Java |
Medium |
Greedy |
?! |
| 56 |
Merge-Intervals |
Java |
Medium |
|
? |
| 58 |
Length-Of-Last-Word |
Java |
Easy |
String |
! |
| 59 |
Spiral-Matrix-ii |
Java |
Medium |
Matrix |
? |
| 62 |
Unique-Paths |
Java |
Medium |
DP |
!? |
| 63 |
Unique-Paths-ii |
Java |
Medium |
|
? |
| 64 |
Minimum Path Sum |
Java |
Medium |
|
? |
| 66 |
Plus One |
Java |
Easy |
|
!? |
| 69 |
Sqrtx |
Java |
Easy |
|
! |
| 70 |
Climbing-Stairs |
Java |
Easy |
|
!!! |
| 72 |
Edit Distance♥ |
Java |
Hard |
DP |
? |
| 74 |
Search-A-2d-Matrix |
Java |
Medium |
|
! |
| 75 |
Sort-Colors |
Java |
Medium |
Array |
! |
| 76 |
Minimum Window Substring |
|
Hard |
|
|
| 77 |
Combinations |
Java |
Medium |
|
? |
| 78 |
Subsets |
Java |
Medium |
Backtracking |
?? |
| 79 |
Word-Search |
Java |
Medium |
DFS |
? |
| 83 |
Remove-Duplicates-From-Sorted-List |
Java |
Easy |
|
!! |
| 84 |
Largest Rectangle in Histogram |
Java |
Hard |
Stack |
!? |
| 85 |
Maximal-Rectangle |
|
Hard |
|
|
| 91 |
Decode Ways |
Java |
Medium |
DP |
? |
| 88 |
Merge Sorted Array |
Java |
Easy |
|
?! |
| 94 |
Binary Tree Inorder Traversal |
Java |
Medium |
|
! |
| 98 |
Validate Binary Search Tree |
Java |
Medium |
|
! |
| 101 |
symmetric-tree |
|
Easy |
Tree |
! |
| 102 |
Binary Tree Level Order Traversal |
Java |
Medium |
BFS |
!?? |
| 104 |
Maximum Depth of Binary Tree |
Java |
Easy |
Recursion |
?!!! |
| 105 |
Construct Binary Tree from Preorder and Inorder Traversal |
Java |
Medium |
|
! |
| 108 |
Convert Sorted Array to Binary Search Tree |
|
Easy |
Tree |
? |
| 109 |
Convert-Sorted-List-To-Binary-Search-Tree |
Java |
Medium |
Tree |
? |
| 110 |
Balanced-Binary-Tree |
Java |
Easy |
Tree |
!?? |
| 111 |
Minimum Depth of Binary Tree |
Java |
Easy |
Tree |
!? |
| 112 |
Path-Sum |
|
Easy |
DFS |
? |
| 113 |
Path-Sum-2 |
Java |
Medium |
DFS |
? |
| 115 |
Distinct-subsequences |
|
Hard |
|
|
| 120 |
Triangle |
Java |
Medium |
|
! |
| 121 |
Best-Time-To-Buy-And-Sell-Stock |
Java |
Easy |
DP |
! |
| 122 |
Best-Time-To-Buy-And-Sell-Stock-ii |
Java |
Easy |
DP、Greedy |
!? |
| 123 |
Best-Time-To-Buy-And-Sell-Stock-iii |
|
Hard |
|
|
| 125 |
Valid Palindrome |
Java |
Easy |
|
! |
| 126 |
Word-Ladder-ii |
Java |
Hard |
|
? |
| 127 |
Word-Ladder |
Java |
Hard |
|
?? |
| 128 |
Longest-Consecutive-Sequence |
Java |
Hard |
HashMap |
? |
| 130 |
Surrounded-Regions |
Java |
Medium |
Disjoint Sets |
? |
| 138 |
Copy List with Random Pointer |
Java |
Medium |
|
? |
| 141 |
Linked List Cycle |
Java |
Easy |
|
!! |
| 142 |
Linked List Cycle II |
Java |
Medium |
|
!? |
| 144 |
Binary Tree Preorder Traversal |
Java |
Medium |
|
! |
| 145 |
Binary Tree Postorder Traversal |
Java |
Medium |
|
! |
| 146 |
LRU Cache |
Java |
Medium |
|
!? |
| 151 |
Reverse-Words-In-A-String |
Java |
Medium |
String |
? |
| 152 |
Maximum-Product-Subarray |
Java |
Medium |
|
! |
| 153 |
Find-Minimum-In-Rotated-Sorted-Array |
Java |
Medium |
|
! |
| 155 |
Min Stack |
Java |
Easy |
|
! |
| 160 |
Intersection-Of-Two-Linked-Lists |
Java |
Easy |
|
! |
| 169 |
Majority-Element |
Java |
Easy |
|
! |
| 188 |
Best-Time-To-Buy-And-Sell-Stock-iv |
|
Hard |
|
|
| 189 |
Rotate Array |
Java |
Medium |
|
!? |
| 190 |
Reverse-Bits |
Java |
Easy |
Bitwise Operation |
? |
| 191 |
Number-Of-1-Bits |
Java |
Easy |
Bitwise Operation |
? |
| 198 |
House-Robber |
Java |
Medium |
|
! |
| 200 |
Number Of Islands |
Java |
Medium |
|
! |
| 230 |
Remove-Linked-List-Elements |
|
Easy |
List |
! |
| 206 |
Reverse Linked List |
Java、Go |
Easy |
List |
!?! |
| 208 |
Implement-Trie-Prefix-Tree |
Java |
Medium |
Trie |
? |
| 209 |
Minimum-Size-Subarray-Sum |
Java |
Medium |
Array |
? |
| 212 |
Word-Search-ii |
|
Hard |
Trie |
|
| 213 |
House-Robber-ii |
|
Medium |
|
|
| 217 |
Contains-Duplicate |
Java |
Easy |
HashMap |
! |
| 221 |
Maximal Square |
Java |
Medium |
DP |
? |
| 225 |
Implement Stack using Queues |
Java |
Easy |
Stack |
! |
| 226 |
Invert Binary Tree |
Java |
Easy |
Tree |
!?! |
| 231 |
Power-Of-Two |
Java |
Easy |
Bitwise Operation |
? |
| 232 |
Implement Queue using Stacks |
Java |
Easy |
Stack |
! |
| 234 |
Palindrome-Linked-List |
Java |
Easy |
|
! |
| 236 |
Lowest Common Ancestor of a Binary Tree |
Java |
Medium |
Recursion |
!? |
| 239 |
Sliding Window Maximum |
Java |
Hard |
|
! |
| 240 |
Search-A-2d-Matrix-ii |
Java |
Medium |
Line search |
! |
| 241 |
Different-Ways-To-Add-Parentheses |
Java |
Medium |
Divide & Conquer |
? |
| 242 |
Valid Anagram |
Java |
Easy |
|
!? |
| 260 |
Single-Number-iii |
Java |
Medium |
Bitwise Operation |
? |
| 279 |
Perfect-Squares |
|
Medium |
|
|
| 283 |
Move Zeroes |
Java、Go |
Easy |
Array |
?! |
| 297 |
Serialize and Deserialize Binary Tree |
Java |
Hard |
|
? |
| 300 |
Longest-Increasing-Subsequence |
Java |
Medium |
Binary Search |
? |
| 309 |
Best-Time-To-Buy-And-Sell-Stock-With-Cooldown |
|
Medium |
|
|
| 312 |
Burst Balloons |
|
Hard |
|
|
| 322 |
Coin-Change♥ |
Java |
Medium |
DP |
! |
| 328 |
Odd-Even-Linked-List |
Java |
Medium |
|
? |
| 337 |
House-Robber-iii |
Java |
Medium |
Tree |
? |
| 338 |
Counting-Bits♥ |
Java |
Medium |
DP、Bitwise Operation |
? |
| 363 |
Max-Sum-Of-Rectangle-No-Larger-Than-K |
|
Hard |
|
|
| 367 |
Valid-Perfect-Square |
Java |
Easy |
|
! |
| 403 |
Frog Jump |
Java |
Hard |
DP |
? |
| 378 |
Kth-Smallest-Element-In-A-Sorted-Matrix/ |
Java |
Medium |
|
? |
| 383 |
Ransom-Note |
Java |
Easy |
String |
? |
| 404 |
Sum-Of-Left-Leaves |
|
Easy |
Tree |
! |
| 410 |
Split Array Largest Sum |
|
Hard |
|
|
| 429 |
N-Ary-Tree-Level-Order-Traversal |
Java |
Medium |
|
! |
| 433 |
MinimumGeneticMutation |
Java |
Medium |
|
! |
| 437 |
Path-Sum-iii |
Java |
Medium |
Tree |
? |
| 455 |
Assign-Cookies |
Java |
Easy |
|
! |
| 485 |
Max-Consecutive-Ones |
Java |
Easy |
|
? |
| 493 |
Reverse-Pairs |
|
Hard |
|
|
| 503 |
Next Greater Element II |
Java |
Medium |
|
? |
| 513 |
Find Bottom Left Tree Value |
Java |
Medium |
BFS |
? |
| 515 |
Find-Largest-Value-In-Each-Tree-Row |
Java |
Medium |
|
! |
| 518 |
Coin Change 2 |
Java |
Medium |
DP |
? |
| 529 |
Minesweeper |
Java |
Medium |
|
! |
| 535 |
Encode-And-Decode-Tinyurl |
Java |
Medium |
HashMap |
? |
| 543 |
Diameter-Of-Binary-Tree |
|
Easy |
Tree |
?? |
| 552 |
Student-Attendance-Record-ii |
|
Hard |
|
|
| 566 |
Reshape-The-Matrix |
Java |
Easy |
|
? |
| 572 |
Subtree-Of-Another-Tree |
|
Easy |
Tree |
|
| 589 |
N-Ary-Tree-Preorder-Traversal |
Java |
Easy |
|
! |
| 590 |
N-Ary-Tree-Postorder-Traversal |
Java |
Easy |
|
! |
| 594 |
Longest-Harmonious-Subsequence |
Java |
Easy |
HashMap |
! |
| 617 |
Merge Two Binary Trees |
|
Easy |
Tree |
? |
| 621 |
Task-Scheduler |
|
Medium |
|
|
| 637 |
Average-Of-Levels-In-Binary-Tree |
|
Easy |
DFS/BFS |
? |
| 641 |
Design Circular Deque |
Java |
Medium |
|
! |
| 647 |
Palindromic Substrings |
Java |
Medium |
Tree |
|
| 671 |
Second Minimum Node In a Binary Tree |
|
Easy |
Tree |
? |
| 687 |
Longest Univalue Path |
|
Medium |
|
|
| 704 |
Binary-Search |
Java |
Easy |
Binary Search |
! |
| 707 |
Design-LinkedList |
|
Medium |
List |
|
| 709 |
To-Lower-Case |
Java |
Easy |
String |
? |
| 712 |
Best-Time-To-Buy-And-Sell-Stock-With-Transaction-Fee |
|
Medium |
|
|
| 725 |
Split-Linked-List-In-Parts |
Java |
Medium |
|
? |
| 739 |
DailyTemperatures |
Java |
Medium |
Stack |
? |
| 746 |
Min-Cost-Climbing-Stairs |
|
Easy |
|
|
| 766 |
Toeplitz Matrix |
Java |
Easy |
|
? |
| 773 |
Sliding-Puzzle |
|
Hard |
|
|
| 818 |
Race-Car |
|
Hard |
|
|
| 860 |
Lemonade-Change |
Java |
Easy |
|
! |
| 874 |
Walking-Robot-Simulation |
Java |
Easy |
|
! |
| 980 |
Unique Paths III |
Java |
Hard |
DFS |
? |
| 1005 |
Maximize-Sum-Of-Array-After-K-Negations |
Java |
Easy |
Array |
? |
| 1034 |
Coloring-A-Border |
Java |
Medium |
DFS / BFS |
? |
| 1091 |
Shortest-Path-In-Binary-Matrix |
|
Medium |
|
|
| 1122 |
Relative-Sort-Array |
|
Easy |
|
|
| 1143 |
Longest-Common-Subsequence |
Java |
Medium |
|
? |
| 1277 |
Count-Square-Submatrices-With-All-Ones |
Java |
Medium |
DP |
? |