Skip to content

Java Solutions to problems on LintCode/LeetCode

Notifications You must be signed in to change notification settings

netrfs/LintCode

 
 

Repository files navigation

Java Algorithm Problems

程序员的一天

从开始这个Github已经有将近两年时间, 很高兴这个repo可以帮到有需要的人. 我一直认为, 知识本身是无价的, 因此每逢闲暇, 我就会来维护这个repo, 给刷题的朋友们一些我的想法和见解. 下面来简单介绍一下这个repo:

README.md: 所有所做过的题目

ReviewPage.md: 所有题目的总结和归纳(不断完善中)

KnowledgeHash2.md: 对所做过的知识点的一些笔记

SystemDesign.md: 对系统设计的一些笔记

Future Milestone: 我准备将一些有意思的题目,做成视频的形式给大家参考

希望大家学习顺利, 对未来充满希望(程序员也是找到好老板的!) 有问题可以给我写邮件([email protected]), 或者在GitHub上发issue给我.

Squence Problem Level Language Tags Video Tutorial
0 Binary Representation.java Hard Java []
1 Binary Tree Serialization.java Medium Java []
2 Binary Tree Zigzag Level Order Traversal.java Medium Java []
3 ColorGrid.java Medium Java []
4 Construct Binary Tree from Inorder and Postorder Traversal.java Medium Java []
5 Container With Most Water.java Medium Java []
6 Convert Binary Search Tree to Doubly Linked List.java Medium Java [BST]
7 Copy List with Random Pointer.java Medium Java []
8 Count of Smaller Number before itself.java Hard Java []
9 Count of Smaller Number.java Medium Java []
10 Delete Digits.java Medium Java []
11 Encode and Decode Strings.java Medium Java []
12 Fast Power.java Medium Java []
13 Find the Connected Component in the Undirected Graph.java Medium Java []
14 Find the Weak Connected Component in the Directed Graph.java Medium Java []
15 Flatten 2D Vector.java Medium Java []
16 Fraction to Recurring Decimal.java Medium Java []
17 Generate Parentheses.java Medium Java []
18 Gray Code.java Medium Java []
19 Group Shifted Strings.java Easy Java []
20 H-Index II.java Medium Java []
21 H-Index.java Medium Java []
22 Hamming Distance.java Easy Java []
23 Happy Number.java Easy Java []
24 HashHeap.java Hard Java []
25 HashWithArray.java Easy Java []
26 HashWithCustomizedClass(LinkedList).java Medium Java []
27 Heapify.java Medium Java []
28 Heaters.java Easy Java []
29 IndexMatch.java Easy Java []
30 Inorder Successor in Binary Search Tree.java Medium Java [BST]
31 Insert Interval.java Easy Java []
32 Insert Node in a Binary Search Tree .java Easy Java [BST]
33 Intersection of Two Arrays.java Easy Java []
34 Intersection of Two Linked Lists.java Easy Java [Linked List]
35 Interval Minimum Number.java Medium Java []
36 Interval Sum II.java Hard Java []
37 Interval Sum.java Medium Java []
38 Isomorphic Strings.java Easy Java []
39 Jewels and Stones.java Easy Java [Hash Table]
40 Kth Largest Element.java Medium Java []
41 Kth Smallest Element in a BST.java Medium Java [BST]
42 Kth Smallest Sum In Two Sorted Arrays.java Hard Java []
43 Longest Common Prefix.java Medium Java []
44 Longest Palindromic Substring.java Medium Java []
45 Longest Univalue Path.java Easy Java []
46 Majority Number II.java Medium Java []
47 Majority Number III.java Medium Java []
48 Matrix Zigzag Traversal.java Easy Java []
49 Max Area of Island.java Easy Java []
50 Maximum Subarray III.java Review Java []
51 Median of two Sorted Arrays.java Hard Java []
52 Merge k Sorted Arrays.java Medium Java []
53 Merge k Sorted Lists.java Medium Java []
54 Merge Sorted Array II.java N/A Java []
55 Minimum Absolute Difference in BST.java Easy Java [BST]
56 Minimum Height Trees.java Medium Java []
57 Minimum Subarray.java N/A Java []
58 Missing Ranges.java Medium Java []
59 Multiply Strings.java Medium Java []
60 Next Permutation.java Medium Java []
61 Nth to Last Node in List.java N/A Java []
62 Number Triangles.java N/A Java []
63 O(1) Check Power of 2.java N/A Java []
64 Paint Fence.java Easy Java []
65 Palindrome Permutation II.java Medium Java []
66 Partition Array by Odd and Even.java N/A Java []
67 Partition Array.java N/A Java []
68 Partition List.java Medium Java []
69 Pascal's Triangle II.java Easy Java []
70 Peeking Iterator.java Medium Java [BST]
71 Permutation Index.java Easy Java []
72 Permutation Sequence.java Medium Java []
73 Permutations.java Medium Java []
74 Populating Next Right Pointers in Each Node II.java Hard Java []
75 Product of Array Exclude Itself.java N/A Java []
76 Recover Rotated Sorted Array.java N/A Java []
77 Rehashing.java Medium Java []
78 Remove Duplicates from Unsorted List.java N/A Java []
79 Remove Invalid Parentheses.java Hard Java []
80 Remove Node in Binary Search Tree.java Hard Java [BST]
81 Reorder List.java Medium Java []
82 Reshape the Matrix.java Easy Java []
83 Restore IP Addresses.java Medium Java []
84 Reverse String.java Easy Java []
85 Reverse Words in a String II.java Medium Java []
86 Reverse Words in a String.java Medium Java []
87 Roman to Integer.java Easy Java []
88 Rotate Image.java Medium Java []
89 Search a 2D Matrix II.java Medium Java []
90 Search a 2D Matrix.java Medium Java []
91 Search for a Range.java Medium Java []
92 Search Insert Position.java Easy Java []
93 Search Range in Binary Search Tree .java Medium Java [BST]
94 Search Rotated in Sorted Array II.java N/A Java []
95 Search Rotated in Sorted Array.java Hard Java []
96 Segment Tree Build II.java Medium Java []
97 Segment Tree Build.java Medium Java []
98 Segment Tree Modify.java Medium Java []
99 Segment Tree Query II.java Medium Java []
100 Segment Tree Query.java Medium Java []
101 Serilization and Deserialization Of Binary Tree.java N/A Java []
102 Shortest Word Distance.java Easy Java []
103 Single Number II.java Medium Java []
104 Single Number III.java Medium Java []
105 Single Number.java Easy Java []
106 Sliding Window Maximum.java Hard Java []
107 Sort Color.java Medium Java []
108 Sort Colors II.java N/A Java []
109 Sort Letters by Case.java N/A Java []
110 Sort List.java Medium Java []
111 Space Replacement.java N/A Java []
112 Stone Game.java N/A Java []
113 String Permutation.java Easy Java []
114 String to Integer(atoi).java Easy Java []
115 Strobogrammatic Number II.java Medium Java []
116 Strobogrammatic Number.java Easy Java []
117 Subarray Sum Closest.java Medium Java []
118 Subarray Sum.java Easy Java []
119 Summary Ranges.java Medium Java []
120 The Smallest Difference.java N/A Java []
121 Top K Frequent Elements.java Medium Java []
122 Top K Frequent Words.java Medium Java []
123 Topological Sorting.java Medium Java []
124 Total Occurrence of Target.java N/A Java []
125 Trailing Zeros.java N/A Java []
126 Two Lists Sum.java N/A Java []
127 Two Strings Are Anagrams.java Easy Java []
128 Ugly Number II.java Medium Java []
129 Ugly Number.java Medium Java []
130 Unique Binary Search Tree II.java Medium Java [BST]
131 Unique Characters.java N/A Java []
132 Unique Word Abbreviation.java Medium Java []
133 Valid Parentheses.java Easy Java []
134 Valid Sudoku.java Easy Java []
135 Word Break.java Medium Java []
136 Word Ladder II.java Hard Java []
137 Word Ladder.java Medium Java []
138 Word Pattern.java Easy Java []
139 Zigzag Iterator.java Medium Java [BST]
140 Find Anagram Mappings.java Easy Java [Hash Table]
141 Judge Route Circle.java Easy Java [String]
142 Island Perimeter.java Easy Java [Hash Table]
143 First Unique Character in a String.java Easy Java [Hash Table, String]
144 Power of Three.java Easy Java [Math]
145 Plus One.java Easy Java [Array, Math]
146 Power of Two.java Easy Java [Bit Manipulation, Math]
147 Reverse Vowels of a String.java Easy Java [String, Two Pointers]
148 Guess Number Higher or Lower.java Easy Java [Binary Search]
149 Encode and Decode TinyURL.java Medium Java [Hash Table, Math]
150 Wiggle Sort.java Medium Java [Array, Sort]
151 Queue Reconstruction by Height.java Medium Java [Greedy]
152 2 Sum.java Easy Java [Array, Hash Table]
153 2 Sum II - Input array is sorted.java Medium Java [Array, Binary Search, Two Pointers]
154 2 Sum II.java Medium Java [Array, Binary Search, Two Pointers]
155 Coin Change.java Medium Java [DP, Memoization, Sequence DP]
156 Maximum Product Subarray.java Medium Java [Array, DP]
157 3 Sum Closest.java Medium Java [Array, Two Pointers]
158 Triangle Count.java Medium Java [Array]
159 3 Sum.java Medium Java [Array, Two Pointers]
160 4 Sum.java Medium Java [Hash Table]
161 k Sum.java Hard Java [DP]
162 Longest Increasing Subsequence.java Medium Java [Binary Search, Coordinate DP, DP, Memoization, Sequence DP]
163 Unique Binary Search Tree.java Medium Java [BST, DP, Tree]
164 Trim a Binary Search Tree.java Easy Java [BST, Tree]
165 Unique Paths II.java Medium Java [Array, Coordinate DP, DP]
166 Bomb Enemy.java Medium Java [Coordinate DP, DP]
167 3 Sum Smaller.java Medium Java [Array, Two Pointers]
168 Array Partition I.java Easy Java [Array]
169 1-bit and 2-bit Characters.java Easy Java [Array]
170 Non-decreasing Array.java Easy Java [Array]
171 Max Consecutive Ones.java Easy Java [Array]
172 Find All Numbers Disappeared in an Array.java Easy Java [Array]
173 Maximum Average Subarray I.java Easy Java [Array]
174 Largest Number At Least Twice of Others.java Easy Java [Array]
175 Toeplitz Matrix.java Easy Java [Array]
176 Sum of Two Integers.java Easy Java [Bit Manipulation]
177 Swap Bits.java Easy Java [Bit Manipulation]
178 Update Bits.java Medium Java [Bit Manipulation]
179 Maximum XOR of Two Numbers in an Array.java Medium Java [Bit Manipulation, Trie]
180 Perfect Squares.java Medium Java [BFS, DP, Math, Partition DP]
181 Backpack VI.java Medium Java [Backpack DP, DP]
182 Copy Books.java Hard Java [Binary Search, DP, Partition DP]
183 Valid Perfect Square.java Review Java [Binary Search, Math]
184 Intersection of Two Arrays II.java Easy Java [Binary Search, Hash Table, Sort, Two Pointers]
185 Longest Palindromic Subsequence.java Medium Java [DP, Interval DP, Memoization]
186 Scramble String.java Hard Java [DP, Interval DP, String]
187 Binary Search Tree Iterator.java Medium Java [BST, Design, Stack, Tree]
188 Flatten Nested List Iterator.java Medium Java [Design, Stack]
189 Best Time to Buy and Sell Stock with Cooldown.java Medium Java [DP]
190 Find Peak Element.java Medium Java [Array, Binary Search]
191 Longest Common Subsequence.java Medium Java [DP, Double Sequence DP]
192 Interleaving String.java Hard Java [DP, String]
193 Letter Combinations of a Phone Number.java Medium Java [Backtracking, String]
194 Edit Distance.java Hard Java [DP, Double Sequence DP, String]
195 Distinct Subsequences.java Hard Java [DP, String]
196 Regular Expression Matching.java Review Java [Backtracking, DP, String]
197 Majority Element.java Easy Java [Array, Bit Manipulation, Divide and Conquer]
198 Wildcard Matching.java Hard Java [Backtracking, DP, Greedy, String]
199 Ones and Zeroes.java Hard Java [DP]
200 Pow(x,n).java Medium Java [Binary Search, Math]
201 Word Break II.java Review Java [Backtracking, DP]
202 Nested List Weight Sum.java Easy Java [BFS, DFS]
203 Same Tree.java Easy Java [DFS, Tree]
204 Convert Sorted Array to Binary Search Tree.java Easy Java [DFS, Divide and Conquer, Tree]
205 Construct Binary Tree from Inorder and Preorder Traversal.java Medium Java [Array, DFS, Divide and Conquer, Tree]
206 Add Binary.java Easy Java [Math, String]
207 Add Digits.java Easy Java [Math]
208 Add Two Numbers.java Medium Java [Linked List, Math]
209 Add Two Numbers II.java Medium Java [Linked List]
210 Balanced Binary Tree.java Medium Java [DFS, Tree]
211 Valid Anagram.java Easy Java [Hash Table, Sort]
212 Populating Next Right Pointers in Each Node.java Medium Java [DFS, Tree]
213 Validate Binary Search Tree.java Medium Java [BST, DFS, Divide and Conquer, Tree]
214 Convert Sorted List to Binary Search Tree.java Medium Java [BST, DFS, Divide and Conquer, Linked List]
215 Flatten Binary Tree to Linked List.java Medium Java [Binary Tree, DFS]
216 Binary Tree Paths.java Easy Java [Backtracking, Binary Tree, DFS]
217 Minimum Size Subarray Sum.java Medium Java [Array, Binary Search, Two Pointers]
218 Clone Graph.java Medium Java [BFS, DFS, Graph]
219 Longest Substring Without Repeating Characters.java Medium Java [Hash Table, String, Two Pointers]
220 Minimum Window Substring.java Hard Java [Hash Table, String, Two Pointers]
221 Linked List Cycle.java Easy Java [Linked List, Two Pointers]
222 Remove Nth Node From End of List.java Medium Java [Linked List, Two Pointers]
223 Longest Substring with At Most K Distinct Characters.java Medium Java [Hash Table, String]
224 Linked List Cycle II.java Medium Java [Linked List, Two Pointers]
225 Kth Smallest Number in Sorted Matrix.java Medium Java [Binary Search, Heap]
226 Find Minimum in Rotated Sorted Array.java Medium Java [Array, Binary Search]
227 Find Minimum in Rotated Sorted Array II.java Hard Java [Array, Binary Search]
228 Connecting Graph.java Medium Java [Union Find]
229 Connecting Graph II.java Medium Java [Union Find]
230 Connecting Graph III.java Medium Java [Union Find]
231 Number of Islands.java Medium Java [BFS, DFS, Union Find]
232 Number of Islands II.java Hard Java [Union Find]
233 Graph Valid Tree.java Review Java [BFS, DFS, Graph, Union Find]
234 Surrounded Regions.java Review Java [BFS, DFS, Union Find]
235 Implement Trie.java Medium Java [Design, Trie]
236 Add and Search Word.java Medium Java [Backtracking, Design, Trie]
237 Word Search II.java Hard Java [Backtracking, DFS, Trie]
238 Word Search.java Medium Java [Array, Backtracking]
239 Word Squares.java Hard Java [Backtracking, Trie]
240 Trapping Rain Water.java Hard Java [Array, Stack, Two Pointers]
241 Trapping Rain Water II.java Hard Java [BFS, Heap]
242 Data Stream Median.java Hard Java [Design, Heap]
243 Sliding Window Median.java Hard Java [Design, Heap]
244 Min Stack.java Easy Java [Design, Stack]
245 Implement Queue using Stacks.java Easy Java [Design, Stack]
246 Expression Expand.java Medium Java [DFS, Divide and Conquer, Stack]
247 Largest Rectangle in Histogram.java Hard Java [Array, Monotonous Stack, Stack]
248 Maximum Binary Tree.java Medium Java [Stack, Tree]
249 Reverse Integer.java Easy Java [Math]
250 Swap Nodes in Pairs.java Medium Java [Linked List]
251 Find Peak Element II.java Hard Java [Binary Search, DFS, Divide and Conquer]
252 Sqrt(x).java Easy Java [Binary Search, Math]
253 First Bad Version.java Easy Java [Binary Search]
254 Wood Cut.java Medium Java [Binary Search]
255 Find the Duplicate Number.java Medium Java [Array, Binary Search, Two Pointers]
256 Palindrome Pairs.java Hard Java [Hash Table, String, Trie]
257 Game of Life.java Medium Java [Array]
258 Maximum Average Subarray II.java Review Java [Array, Binary Search]
259 Meeting Rooms.java Easy Java [Sort, Sweep Line]
260 Number of Airplane in the sky.java Medium Java [Array, Interval, Sort, Sweep Line]
261 Meeting Rooms II.java Medium Java [Greedy, Heap, Sort, Sweep Line]
262 Building Outline.java Review Java [Binary Indexed Tree, Divide and Conquer, Heap, Segment Tree, Sweep Line]
263 Unique Path.java Medium Java [Array, Coordinate DP, DP]
264 Maximal Rectangle.java Hard Java [Array, DP, Hash Table, Stack]
265 Maximal Square.java Medium Java [Coordinate DP, DP]
266 Longest Increasing Path in a Matrix.java Hard Java [DFS, DP, Memoization, Topological Sort]
267 Coins in a Line.java Medium Java [DP, Game Theory, Greedy]
268 Coins in a Line II.java Medium Java [Array, DP, Game Theory, Memoization, MiniMax]
269 Binary Tree Inorder Traversal.java Easy Java [Hash Table, Stack, Tree]
270 Binary Tree Postorder Traversal.java Medium Java [Stack, Tree, Two Stacks]
271 Change to Anagram.java Easy Java [String]
272 Classical Binary Search.java Easy Java [Binary Search]
273 Climbing Stairs.java Easy Java [DP, Memoization, Sequence DP]
274 Coins in a Line III.java Hard Java [Array, DP, Game Theory, Interval DP, Memoization]
275 Closest Binary Search Tree Value.java Easy Java [BST, Binary Search, Tree]
276 Compare Version Numbers.java Medium Java [String]
277 Count Complete Tree Nodes.java Medium Java [Binary Search, Tree]
278 Course Schedule.java Medium Java [BFS, Backtracking, DFS, Graph, Topological Sort]
279 Course Schedule II.java Medium Java [BFS, DFS, Graph, Topological Sort]
280 Alien Dictionary.java Hard Java [BFS, Backtracking, DFS, Graph, Topological Sort]
281 Binary Tree Preorder Traversal.java Easy Java [BFS, DFS, Stack, Tree]
282 Closest Number in Sorted Array.java Easy Java [Binary Search]
283 Complete Binary Tree.java Easy Java [BFS, Tree]
284 Compare Strings.java Easy Java [String]
285 Contains Duplicate.java Easy Java [Array, Hash Table]
286 Contains Duplicate II.java Easy Java [Array, Hash Table]
287 Contains Duplicate III.java Medium Java [BST]
288 Burst Balloons.java Hard Java [DP, Divide and Conquer, Interval DP, Memoization]
289 Nim Game.java Easy Java [Brainteaser, DP, Game Theory]
290 Convert Integer A to Integer B.java Easy Java [Bit Manipulation]
291 Cosine Similarity.java Easy Java [Basic Implementation]
292 Count 1 in Binary.java Easy Java [Bit Manipulation]
293 Count and Say.java Easy Java [Basic Implementation, String]
294 One Edit Distance.java Medium Java [String]
295 K Edit Distance.java Hard Java [DP, Double Sequence DP, Trie]
296 Jump Game.java Medium Java [Array, DP, Greedy]
297 Coin Change 2.java Medium Java [DP, Sequence DP]
298 Paint House.java Easy Java [DP, Sequence DP]
299 Decode Ways.java Medium Java [DP, Partition DP, String]
300 Longest Continuous Increasing Subsequence.java Easy Java [Array, Coordinate DP, DP]
301 Minimum Path Sum.java Medium Java [Array, Coordinate DP, DP]
302 Counting Bits.java Medium Java [Bit Manipulation, Bitwise DP, DP]
303 Continuous Subarray Sum.java Medium Java [Coordinate DP, DP, Math]
304 House Robber.java Easy Java [DP, Sequence DP]
305 House Robber II.java Medium Java [DP, Sequence DP]
306 House Robber III.java Medium Java [DFS, DP, Status DP, Tree]
307 Paint House II.java Hard Java [DP, Sequence DP]
308 Best Time to Buy and Sell Stock I.java Easy Java [Array, DP, Sequence DP]
309 Best Time to Buy and Sell Stock II.java Easy Java [Array, DP, Greedy, Sequence DP]
310 Best Time to Buy and Sell Stock III .java Hard Java [Array, DP, Sequence DP]
311 Best Time to Buy and Sell Stock IV.java Hard Java [DP, Sequence DP]
312 Russian Doll Envelopes.java Hard Java [Binary Search, Coordinate DP, DP]
313 Jump Game II.java Hard Java [Array, Coordinate DP, DP, Greedy]
314 Palindrome Partitioning.java Medium Java [Backtracking, DFS]
315 Permutation in String.java Medium Java [Two Pointers]
316 Permutations II.java Medium Java [Backtracking]
317 Shuffle an Array.java Medium Java [Permutation]
318 Find All Anagrams in a String.java Easy Java [Hash Table]
319 Group Anagrams.java Medium Java [Hash Table, String]
320 Backpack.java Medium Java [Backpack DP, DP]
321 Backpack II.java Medium Java [Backpack DP, DP]
322 Backpack V.java Medium Java [Backpack DP, DP]
323 Count Primes.java Easy Java [Hash Table, Math]
324 Delete Node in a Linked List.java Easy Java [Linked List]
325 Excel Sheet Column Number.java Easy Java [Math]
326 Excel Sheet Column Title.java Easy Java [Math]
327 Flip Game.java Easy Java [String]
328 Flip Game II.java Review Java [DFS, backtracking]
329 Expression Tree Build.java Hard Java [Binary Tree, Expression Tree, Minimum Binary Tree, Stack]
330 Expression Evaluation.java Hard Java [Binary Tree, DFS, Expression Tree, Minimum Binary Tree, Stack]
331 Convert Expression to Polish Notation.java Hard Java [Binary Tree, DFS, Expression Tree, Stack]
332 Convert Expression to Reverse Polish Notation.java Hard Java [Binary Tree, DFS, Expression Tree, Stack]
333 Evaluate Reverse Polish Notation.java Medium Java [Stack]
334 Decode Ways II.java Hard Java [DP, Partition DP]
335 Palindrome Partitioning II.java Hard Java [DP, Partition DP]
336 Backpack III.java Hard Java [Backpack DP, DP]
337 First Missing Positive.java Hard Java [Array]
338 Gas Station.java Medium Java [Greedy]
339 Implement strStr().java Easy Java [String, Two Pointers]
340 Insertion Sort List.java Medium Java [Linked List, Sort]
341 Integer to English Words.java Hard Java [Math, String]
342 Interleaving Positive and Negative Numbers.java Medium Java [Two Pointers]
343 Largest Number.java Medium Java [Sort]
344 Last Position of Target.java Easy Java [Binary Search]
345 Length of Last Word.java Easy Java [String]
346 Longest Common Substring.java Medium Java [DP, Double Sequence DP, String]
347 Longest Increasing Continuous subsequence.java Easy Java [Array, Coordinate DP, DP]
348 Longest Increasing Continuous subsequence II.java Medium Java [Array, Coordinate DP, DP, Memoization]
349 N-Queens.java Hard Java [Backtracking]
350 N-Queens II.java Hard Java [Backtracking]
351 Longest Words.java Easy Java [Hash Map, String]
352 Maximum Subarray.java Easy Java [Array, DFS, DP, Divide and Conquer, Sequence DP]
353 Maximum Subarray II.java Medium Java [Array, DP, Greedy, Sequence DP]
354 Median.java Easy Java [Array, Quick Select, Quick Sort]
355 Merge Sorted Array.java Easy Java [Array, Two Pointers]
356 Middle of Linked List.java Easy Java [Linked List]
357 Singleton.java Easy Java [Design]
358 Remove Linked List Elements.java Easy Java [Linked List]
359 Fibonacci.java Easy Java [DP, Math, Memoization]
360 Palindrome Linked List.java Easy Java [Linked List, Two Pointers]
361 Reverse Linked List.java Easy Java [Linked List]
362 Reverse Linked List II .java Medium Java [Linked List]
363 Palindrome Permutation.java Easy Java [Hash Table]
364 Valid Palindrome.java Easy Java [String, Two Pointers]
365 Implement Stack using Queues.java Easy Java [Design, Stack]
366 Implement Stack.java Easy Java [Stack]
367 Invert Binary Tree.java Easy Java [BFS, DFS, Tree]
368 Maximum Depth of Binary Tree.java Easy Java [DFS, Tree]
369 Minimum Depth of Binary Tree.java Easy Java [BFS, DFS, Tree]
370 Symmetric Tree.java Easy Java [BFS, DFS, Tree]
371 Tweaked Identical Binary Tree.java Easy Java [DFS, Tree]
372 Merge Two Binary Trees.java Easy Java [DFS, Tree]
373 Subtree.java Easy Java [DFS, Tree]
374 Lowest Common Ancestor of a Binary Tree.java Medium Java [DFS, Tree]
375 Lowest Common Ancestor II.java Easy Java [Hash Table, Tree]
376 Lowest Common Ancestor of a Binary Search Tree.java Medium Java [BST, DFS, Tree]
377 Merge Intervals.java Medium Java [Array, Sort, Sweep Line]
378 Hash Function.java Easy Java [Hash Table]
379 Merge Two Sorted Lists.java Easy Java [Linked List]
380 Missing Number.java Easy Java [Array, Bit Manipulation, Math]
381 LRU Cache.java Hard Java [Design, Hash Table, Linked List]
382 Remove Duplicates from Sorted Array.java Easy Java [Array, Two Pointers]
383 Remove Duplicates from Sorted Array II.java Medium Java [Array, Two Pointers]
384 Remove Duplicates from Sorted List.java Easy Java [Linked List]
385 Remove Duplicates from Sorted List II.java Medium Java [Linked List]
386 QuickSort.java Medium Java [Sort]
387 MergeSort.java Medium Java [Merge Sort, Sort]
388 Longest Word in Dictionary.java Easy Java [Hash Table, Trie]
389 Anagrams.java Medium Java [Array, Hash Map]
390 Binary Tree Level Order Traversal.java Medium Java [BFS, DFS, Tree]
391 Binary Tree Level Order Traversal II.java Medium Java [BFS, Tree]
392 Binary Tree Longest Consecutive Sequence II.java Medium Java [DFS, Divide and Conquer, Double Recursive, Tree]
393 Binary Tree Maximum Path Sum.java Hard Java [DFS, Tree]
394 Path Sum.java Easy Java [DFS, Tree]
395 Path Sum II.java Easy Java [Backtracking, DFS, Tree]
396 Path Sum III.java Easy Java [DFS, Double Recursive, Tree]
397 Rotate String.java Easy Java [String]
398 Path Sum IV.java Medium Java [DFS, Hash Map, Tree]
399 Combinations.java Medium Java [Backtracking, Combination, DFS]
400 Combination Sum.java Medium Java [Array, Backtracking, Combination, DFS]
401 Combination Sum II.java Medium Java [Array, Backtracking, Combination, DFS]
402 Combination Sum III.java Medium Java [Array, Backtracking, Combination, DFS]
403 Combination Sum IV.java Medium Java [Array, Backpack DP, DP]
404 Subset.java Medium Java [Array, BFS, Backtracking, Bit Manipulation, DFS]
405 Subsets II.java Medium Java [Array, BFS, Backtracking, DFS]
406 Binary Tree Right Side View.java Medium Java [BFS, DFS, Tree]
407 Binary Tree Maximum Path Sum II.java Medium Java [DFS, Tree]
408 Rotate List.java Medium Java [Linked List, Two Pointers]
409 Basic Calculator.java Hard Java [Binary Tree, Expression Tree, Math, Minimum Binary Tree, Stack]
410 Longest Consecutive Sequence.java Hard Java [Array, Hash Table, Union Find]
411 Binary Tree Longest Consecutive Sequence.java Medium Java [DFS, Divide and Conquer, Tree]

About

Java Solutions to problems on LintCode/LeetCode

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%