The accepted Java solutions and explanations to the leetcode algorithm.
- Array
- Backtracking
- BFS
- Binary Search
- Bit Manipulation
- Design
- DFS
- Dynamic Programming
- Greedy
- Hash Table
- Heap
- LinkedList
- Math
- Queue
- Sort
- String
- Tree
- Trie
- Two Pointers
- Union Find
# | Title | Solution | Difficulty |
---|---|---|---|
22 | Generate Parentheses | Java | Medium |
46 | Permuations | Java | Medium |
47 | Permutations II | Java | Medium |
51 | N Queues | Java | Hard |
52 | N Queues II | Java | Hard |
79 | Word Search | Java | Medium |
# | Title | Solution | Difficulty |
---|---|---|---|
102 | Binary Tree Level Order Traversal | Java | Medium |
103 | Binary Tree Zigzag Level Order Traversal | Java | Medium |
107 | Binary Tree Level Order Traversal II | Java | Easy |
111 | Minimum Depth of Binary Tree | Java | Easy |
130 | Surrounded Regions | Java | Medium |
133 | Clone Graph | Java | Medium |
199 | Binary Tree Right Side View | Java | Medium |
200 | Number of Islands | Java | Medium |
207 | Course Schedule | Java | Medium |
210 | Course Schedule II | Java | Medium |
261 | Graph Valid Tree (locked) | Java | Medium |
286 | Walls And Gates | Java | Medium |
317 | Shortest Distance From All Buildings | Java | Hard |
417 | Pacific Atlantic Water Flow | Java | Medium |
490 | The Maze | Java | Medium |
499 | The Maze III | Java | Hard |
505 | The Maze II | Java | Medium |
513 | Find Bottom Left Tree Value | Java | Medium |
515 | Find Largest Value in Each Tree Row | Java | Medium |
529 | Minesweeper | Java | Medium |
582 | Kill Process | Java | Medium |
690 | Employee Importance | Java | Easy |
# | Title | Solution | Difficulty |
---|---|---|---|
33 | Search in Rotated Sorted Array | Java | Medium |
34 | Search For A Range | Java | Medium |
35 | Search Insert Position | Java | Easy |
69 | Sqrt | Java | Easy |
74 | Search a 2D Matrix | Java | Medium |
81 | Search In Rotated Sorted ArrayII | Java | Medium |
153 | Find Minimum In Rotated Sorted Array | Java | Easy |
154 | Find Minimum In Rotated Sorted Array II | Java | Easy |
162 | Find Peak Element | Java | Easy |
240 | Search a 2D Matrix II | Java | Easy |
270 | Closest Binary Search Tree Value | Java | Easy |
278 | First Bad Version | Java | Easy |
367 | Valid Perfect Square | Java | Easy |
441 | Arranging Coins | Java | Easy |
475 | Heaters | Java | Easy |
# | Title | Solution | Difficulty |
---|---|---|---|
136 | Single Number | Java | Easy |
137 | Single Number II | Java | Medium |
190 | Reverse Bit | Java | Easy |
191 | Number of Bits | Java | Easy |
201 | Bitwise AND of Numbers Range | Java | Medium |
231 | Power of Two | Java | Easy |
260 | Single Number III | Java | Medium |
318 | Maximum Product of Word Lengths | Java | Medium |
338 | Counting Bits | Java | Medium |
342 | Power of Four | Java | Easy |
371 | Sum of Two Integers | Java | Easy |
389 | Find the Difference | Java | Easy |
397 | Integer Replacement | Java | Medium |
401 | Binary Watch | Java | Easy |
405 | Convert a Number to Hexadecimal | Java | Easy |
461 | Hamming Distance | Java | Easy |
476 | Number Complement | Java | Easy |
477 | Total Hamming Distance | Java | Medium |
693 | Binary Number with Alternating Bits | Java | Easy |
# | Title | Solution | Difficulty |
---|---|---|---|
146 | LRU | Java | Hard |
155 | Min Stack | Java | Easy |
170 | Two Sum III DataStructure Design | Java | Easy |
225 | Implement Stack Using Queues | Java | Easy |
232 | Implement Queue Using Stacks | Java | Easy |
244 | Shortest Word Distance I | Java | Medium |
281 | Zigzag Iterator | Java | Medium |
284 | Peeking Iterator | Java | Medium |
341 | Flatten Nested List Iterator | Java | Medium |
346 | Moving Average From Data Stream | Java | Easy |
355 | Design Twitter | Java | Medium |
359 | Logger Rate Limiter | Java | Easy |
380 | Insert Delete GetRandom | Java | Medium |
381 | Insert Delete GetRandom Duplicates Allowed | Java | Hard |
635 | Design Log Storage System | Java | Medium |
# | Title | Solution | Difficulty |
---|---|---|---|
122 | Best Time to Buy and Sell Stock II | Java | Easy |
134 | Gas Station | Java | Medium |
135 | Candy | Java | Hard |
169 | Majority Element | Java | Easy |
229 | Majority Element II | Java | Medium |
406 | Queue Reconstruction by Height | Java | Medium |
455 | Assign Cookies | Java | Easy |
# | Title | Solution | Difficulty |
---|---|---|---|
218 | The Skyline Problem | Java | Hard |
264 | Ugly Number II | Java | Medium |
295 | Find Median From Data Stream | Java | Hard |
347 | Top K Frequent Elements | Java | Medium |
373 | Find K Pairs With Smallest Sums | Java | Medium |
407 | Trapping RainWater II | Java | Hard |
451 | Sort Characters By Frequency | Java | Medium |
# | Title | Solution | Difficulty |
---|---|---|---|
2 | Add Two Numbers | Java | Medium |
19 | Remove Nth Node From End of List | Java | Medium |
21 | Merge Two Sorted Linked List | Java | Easy |
23 | Merge K Sorted Lists | Java | Hard |
24 | Swap Nodes in Pairs | Java | Medium |
61 | Rotate List | Java | Medium |
82 | Remove Duplicates from Sorted List II | Java | Medium |
83 | Remove Duplicates | Java | Easy |
86 | Partition List | Java | Medium |
92 | Reverse Linked List II | Java | Medium |
138 | Copy List with Random Pointer | Java | Medium |
141 | Linked List Cycle | Java | Easy |
142 | Linked List Cycle II | Java | Medium |
143 | Reorder List | Java | Medium |
147 | Insertion Sort List | Java | Medium |
160 | Intersection of Two Linked List | Java | Easy |
203 | Remove Linked List Elements | Java | Easy |
206 | Reverse Linked List | Java | Easy |
234 | Palindrome Linked List | Java | Easy |
237 | Delete Node in a Linked List | Java | Easy |
328 | Odd Even Linked List | Java | Medium |
445 | Add Two Numbers II | Java | Medium |
# | Title | Solution | Difficulty |
---|---|---|---|
9 | Palindrome Number | Java | Easy |
50 | Pow | Java | Medium |
168 | Excel Sheet Column Title | Java | Easy |
171 | Excel Sheet Column Number | Java | Easy |
172 | Factorial Trailing Zeroes | Java | Easy |
223 | Rectangle Area | Java | Medium |
233 | Number Of Digit One | Java | Hard |
258 | Add Digits | Java | Easy |
263 | Ugly Number | Java | Easy |
326 | Power Of Three | Java | Easy |
365 | Water And Jug Problem | Java | Medium |
396 | Rotate Function | Java | Medium |
400 | Nth Digit | Java | Easy |
415 | Add String | Java | Easy |
423 | Reconstruct Original Digits From English | Java | Medium |
453 | Minimum Moves To Equal Array Elements | Java | Easy |
462 | Minimum Moves To Equal Array Element II | Java | Medium |
469 | Convex Polygon | Java | Medium |
507 | Perfect Number | Java | Easy |
573 | Squirrel Simulation | Java | Medium |
592 | Fraction Addition And Subtraction | Java | Medium |
598 | Range Addition II | Java | Easy |
633 | Sum Of Square Numbers | Java | Easy |
728 | Self Dividing Numbers | Java | Easy |
# | Title | Solution | Difficulty |
---|---|---|---|
239 | Sliding Window Maximum | Java | Hard |
# | Title | Solution | Difficulty |
---|---|---|---|
56 | Merge Intervals | Java | Medium |
75 | Sort Colors | Java | Medium |
148 | Sort List | Java | Medium |
179 | Largest Number | Java | Medium |
274 | H Index | Java | Medium |
349 | Intersection of Two Arrays | Java | Easy |
350 | Intersection of Two Arrays II | Java | Easy |
524 | Longest Word in Dictionary through Deleting | Java | Medium |
Quick Sort | Java | ||
Merge Sort | Java |
# | Title | Solution | Difficulty |
---|---|---|---|
95 | Unique Binary Search Trees II | Java | Medium |
117 | Populating Next Right Pointers in Eac hNode II | Java | Medium |
222 | Count Complete Tree Node | Java | Medium |
654 | Maximum Binary Tree | Java | Medium |
# | Title | Solution | Difficulty |
---|---|---|---|
208 | Implement Trie Prefix Tree | Java | Medium |
211 | Add And Search Word Data Structure Design | Java | Medium |
212 | Word Search II | Java | Hard |
421 | Maximum XOR Of Two Numbers In An Array | Java | Medium |
648 | Replace Words | Java | Medium |
# | Title | Solution | Difficulty |
---|---|---|---|
3 | Longest Substring without Repeating Characters | Java | Medium |
11 | Container with Most Water | Java | Medium |
15 | 3Sum | Java | Medium |
16 | 3SumClosest | Java | Medium |
18 | 4Sum | Java | Medium |
26 | Remove Duplicates from Sorted Array | Java | Easy |
27 | Remove Elements | Java | Easy |
28 | Implement strStr | Java | Easy |
76 | Minimum Window Substring | Java | Hard |
80 | Remove Duplicates from Sorted Array II | Java | Medium |
88 | Merge Sorted Array | Java | Easy |
125 | Valid Palindrome | Java | Easy |
167 | Two Sum II Input Array Is Sorted | Java | Easy |
209 | Minimum Size Subarray Sum | Java | Medium |
287 | Find The Duplicate | Java | Medium |
345 | Reverse Vowels Of A String | Java | Easy |
524 | Longest Word In Dictionary Through Deleting | Java | Medium |
532 | Kdiff Pairs In An Array | Java | Easy |
567 | Permutation In String | Java | Medium |
# | Title | Solution | Difficulty |
---|---|---|---|
128 | Longest Consecutive Sequence | Java | Hard |
305 | Number of Islands II(locked) | Java | Hard |
323 | Number of Connected Components in an Undirected Graph(locked) | Java | Medium |
547 | Friend Circles | Java | Medium |
684 | Redundant Connection | Java | Medium |