Skip to content

My Solutions to Leetcode problems. All solutions support C++ language, some support Java and Python. Multiple solutions will be given by most problems. Enjoy:) 我的Leetcode解答。所有的问题都支持C++语言,一部分问题支持Java语言。近乎所有问题都会提供多个算法解决。大家加油!:)

Notifications You must be signed in to change notification settings

dayueba/Play-Leetcode

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My solutions to Leetcode

I will put my solutions to Leetcode Problems in this repo. Every problem will be solved in C++; part of the problems will be solved in Java also. I will try my best to support more language in the future :)

Please feel free to contact me if you have any questions with this repo:)

email: [email protected]


大家好,欢迎大家来到我的 Leetcode 题解代码仓。在这个代码仓中,近乎每一个问题都会使用多种方式进行解决,同时标注了简明的算法思想,时间复杂度和空间复杂度。所有问题都会使用C++进行解决,各别问题支持Java语言和Python语言。

由于 Leetcode 如今已经问题量巨大,所以很多同学可能会刷起来毫无头绪。推荐大家可以使用 Leetcode 在2017年底推出的 Leetcode Explore,这个模块分门别类地整理了Leetcode上的问题,是一个很好的刷 Leetcode 的指引。Leetcode Explore模块上的题解,可以参考我的代码仓:Play Leetcode Explore

如果对代码仓有任何问题,欢迎联系我:)

个人网站liuyubobobo.com

电子邮件[email protected]

微博: 刘宇波bobo http://weibo.com/liuyubobobo

知乎: 刘宇波 http://www.zhihu.com/people/liuyubobobo

知乎专栏:是不是很酷 https://zhuanlan.zhihu.com/liuyubobobo

个人公众号:是不是很酷:)

QRCode

其他相关代码仓

Problems

ID Problem Official
Solution
C++ Java Python
001 Two Sum solution C++ Java
002 Add Two Numbers solution C++
003 Longest-Substring-Without-Repeating-Characters solution C++ Java
007 Reverse Integer solution C++
011 Container With Most Water solution C++
012 Integer to Roman [无] C++
013 Roman to Integer [无] C++
014 Longest Common Prefix [无] C++
015 3Sum [无] C++
016 3Sum Closest [无] C++
017 Letter Combinations of a Phone Number solution C++ Java
018 4Sum [无] C++
019 Remove Nth Node From End of List solution C++ Java
020 Valid Parentheses solution C++ Java
021 Merge Two Sorted Lists solution C++
022 Generate Parentheses solution C++
023 Merge k Sorted Lists solution C++
024 Swap Nodes in Pairs [无] C++ Java
025 Reverse Nodes in k-Group [无] C++
026 Remove Duplicates from Sorted Array solution C++
027 Remove Element solution C++
028 Implement strStr() [无]
[缺:KMP等高级字符串匹配算法]
C++
033 Search in Rotated Sorted Array solution C++
034 Search for a Range solution C++
036 Valid Sudoku solution C++
037 Sudoku Solver [无]
[缺:Dancing Links]
C++
038 Count and Say [无] C++
039 Combination Sum [无] C++
040 Combination Sum II [无] C++
041 First Missing Positive solution C++
042 Trapping Rain Water solution C++
046 Permutations solution
[缺:排列算法整理]
C++ Java
047 Permutations II [无] C++
048 Rotate Image solution C++
049 Group Anagrams solution C++
050 Pow(x, n) [无] C++
051 N-Queens [缺:N皇后问题整理] C++ Java
052 N-Queens II solution
[缺:N皇后问题整理]
C++
054 Spiral Matrix solution C++
056 Merge Intervals solution C++
059 Spiral Matrix II [无] C++
061 Rotate List [无] C++
063 Unique Paths II solution C++
064 Minimum Path Sum solution C++ Java
066 Plus One [无] C++
067 Add Binary [无] C++
069 Sqrt(x) [无] C++
070 Climbing Stairs solution C++ Java
072 Edit Distance solution C++
073 Set Matrix Zeroes solution C++
075 Sort Colors [无] C++ Java
076 Minimum Window Substring solution C++
077 Combinations [缺:组合算法整理] C++ Java
079 Word Search [无] C++ Java
080 Remove Duplicates from Sorted Array II [无] C++
082 Remove Duplicates from Sorted List II [无] C++
086 Partition List solution C++
087 Scramble String [无] C++
088 Merge Sorted Array solution C++
092 Reverse Linked List II solution C++
093 Restore IP Addresses solution C++
094 Binary Tree Inorder Traversal solution C++ Java
095 Unique Binary Search Trees II solution C++
096 Unique Binary Search Trees solution C++
098 Validate Binary Search Tree solution C++ Java
099 Recover Binary Search Tree [无] Java
100 Same Tree [无] C++
101 Symmetric Tree solution C++
102 Binary Tree Level Order Traversal [无] C++ Java
104 Maximum Depth of Binary Tree solution C++ Java
105 Construct Binary Tree from Preorder and Inorder Traversal solution C++
106 Construct Binary Tree from Inorder and Postorder Traversal [无] C++
107 Binary Tree Level Order Traversal II [无] C++
108 Convert Sorted Array to Binary Search Tree [无] C++
109 Convert Sorted List to Binary Search Tree solution C++
111 Minimum Depth of Binary Tree solution C++
112 Path Sum solution C++ Java
113 Path Sum II [无] C++
115 Distinct Subsequences [无] C++ Java
116 Populating Next Right Pointers in Each Node [无] C++
117 Populating Next Right Pointers in Each Node II [无] C++
118 Pascal's Triangle solution C++
119 Pascal's Triangle II [无] C++
120 Triangle [无] C++
121 Best Time to Buy and Sell Stock C++
122 Best Time to Buy and Sell Stock II C++
123 Best Time to Buy and Sell Stock III C++
125 Valid Palindrome [无] C++
126 Word Ladder II [无]
[缺:双端搜索]
C++
127 Word Ladder [无] C++ Java
128 Longest Consecutive Sequence C++
129 Sum Root to Leaf Numbers [无] C++
130 Surrounded Regions [无] C++
133 Clone Graph [无] C++
135 Candy solution
[缺:O(1)空间算法]
C++
136 Single Number solution C++
138 Copy List with Random Pointer solution C++
141 Linked List Cycle solution C++
142 Linked List Cycle II solution C++
144 Binary Tree Preorder Traversal solution C++ Java
145 Binary Tree Postorder Traversal solution C++ Java
147 Insertion Sort List C++
148 Sort List [无] C++
149 Max Points on a Line solution C++
150 Evaluate Reverse Polish Notation [无] C++
151 Reverse Words in a String [无] C++
153 Find Minimum in Rotated Sorted Array solution C++
155 Min Stack [无] C++
159 Longest Substring with At Most Two Distinct Characters solution C++
160 Intersection of Two Linked Lists solution C++
161 One Edit Distance solution C++
167 Two Sum II - Input array is sorted solution C++ Java
169 Majority Element solution C++
170 Two Sum III - Data structure design [无] C++
171 Excel Sheet Column Number [无] C++
173 Binary Search Tree Iterator [无]
[缺:Morris遍历]
C++
186 Reverse Words in a String II [无] C++
188 Best-Time-to-Buy-and-Sell-Stock-IV C++
189 Rotate Array solution C++
191 Number of 1 Bits solution C++
198 House Robber solution C++ Java
200 Number of Islands solution C++ Java
202 Happy Number [无] C++
203 Remove Linked List Elements [无] C++ Java
205 Isomorphic Strings [无] C++
206 Reverse Linked List solution C++ Java
207 Course Schedule [无] C++
208 Implement Trie (Prefix Tree) solution C++
209 Minimum Size Subarray Sum solution C++ Java
210 Course Schedule II solution C++
211 Add and Search Word - Data structure design [无] C++
212 Word Search II [无] C++
213 House Robber II [无] C++
215 Kth Largest Element in an Array solution C++
216 Combination Sum III [无] C++
217 Contains Duplicate [无] C++
218 The Skyline Problem C++
219 Contains Duplicate II solution C++ Java
220 Contains Duplicate III solution C++ Java
222 Count Complete Tree Nodes [无] C++
224 Basic Calculator [无] C++
225 Implement Stack using Queues solution C++
226 Invert Binary Tree solution C++ Java
227 Basic Calculator II [无] C++
230 Kth Smallest Element in a BST [无] C++
232 Implement Queue using Stacks solution C++
234 Palindrome Linked List [无] C++
235 Lowest Common Ancestor of a Binary Search Tree solution C++ Java
236 Lowest Common Ancestor of a Binary Tree solution
[缺:非递归解法;LCA问题总结]
C++
237 Delete Node in a Linked List solution C++ Java
239 Sliding Window Maximum [无] C++
242 Valid Anagram solution C++
243 Shortest Word Distance solution C++
244 Shortest Word Distance II solution C++
245 Shortest Word Distance III [无] C++
249 Group Shifted Strings [无] C++
250 Count Univalue Subtrees [无] C++
252 Meeting Rooms solution C++
253 Meeting Rooms II solution C++
254 Factor Combinations [无] C++
257 Binary Tree Paths solution C++ Java
259 3Sum Smaller solution C++
268 Missing Number solution C++
279 Perfect Squares [无]
四平方和数学解
C++ Java
282 Expression Add Operators solution C++
283 Move Zeroes solution C++ Java
286 Walls and Gates solution C++
287 Find the Duplicate Number C++
288 Unique Word Abbreviation solution C++
290 Word Pattern [无] C++
297 Serialize and Deserialize Binary Tree solution C++
300 Longest Increasing Subsequence solution C++ Java
301 0301-Remove-Invalid-Parentheses solution
[缺:DP+构建]
C++
303 Range Sum Query - Immutable C++
307 Range Sum Query - Mutable [缺:BIT] C++
308 Range Sum Query 2D - Mutable C++
309 Best Time to Buy and Sell Stock with Cooldown C++
315 Count of Smaller Numbers After Self [无] C++
319 Bulb Switcher [无] C++
322 Coin Change solution C++
328 Odd Even Linked List solution C++
337 House Robber III [无] C++
343 Integer Break [无] C++ Java
344 Reverse String [无] C++
345 Reverse Vowels of a String [无] C++
346 Moving Average from Data Stream [无] C++
347 Top K Frequent Elements solution C++ Java
349 Intersection of Two Arrays [无] C++ Java
350 Intersection of Two Arrays II [无] C++ Java
359 Logger Rate Limiter [无] C++
360 Sort Transformed Array [无] C++
370 Range Addition C++
373 Find K Pairs with Smallest Sums [无] C++
374 Guess Number Higher or Lower solution C++
377 Combination Sum IV [无] C++
378 Kth Smallest Element in a Sorted Matrix [无] C++
380 Insert Delete GetRandom O(1) [无] C++
381 Insert Delete GetRandom O(1) - Duplicates allowed [无] C++
382 Linked List Random Node [无] C++
384 Shuffle an Array solution C++
386 Lexicographical Numbers C++
387 First Unique Character in a String solution C++ Java
388 Longest Absolute File Path C++
389 Find the Difference C++
390 Elimination Game C++
391 Perfect Rectangle [缺:矩形求交] C++
393 UTF-8 Validation solution C++
394 Decode String [无] C++
398 Random Pick Index [无] C++
412 Fizz Buzz solution C++
416 Partition Equal Subset Sum [无] C++ Java
417 Pacific Atlantic Water Flow [无] Java
423 Reconstruct Original Digits from English solution C++
429 N-ary Tree Level Order Traversal [无] C++
430 Flatten a Multilevel Doubly Linked List [无] solution
434 Number of Segments in a String C++
435 Non-overlapping Intervals solution C++ Java
437 Path Sum III [无] C++ Java
438 Find All Anagrams in a String [无] C++
443 String Compression C++
447 Number of Boomerangs [无] C++ Java
451 Sort Characters By Frequency [无] C++
454 4Sum II [无] C++ Java
455 Assign Cookies [无] C++ Java
470 Implement Rand10() Using Rand7() solution C++
473 Matchsticks to Square solution C++
474 Ones and Zeroes solution C++
478 Generate Random Point in a Circle solution C++
485 Max Consecutive Ones [无] C++
490 The Maze solution C++
494 Target Sum solution C++
497 Random Point in Non-overlapping Rectangles solution C++
498 Diagonal Traverse [无] C++
509 Fibonacci Number [无] C++
518 Coin Change 2 [无] C++
519 Random Flip Matrix solution C++
528 Random Pick with Weight solution C++
530 Minimum Absolute Difference in BST [无] Java
541 Reverse String II solution C++
542 01 Matrix solution C++
557 Reverse Words in a String III solution C++
559 Maximum Depth of N-ary Tree solution C++
561 Array Partition I solution C++
572 Subtree of Another Tree solution C++
583 Delete Operation for Two Strings solution C++
589 N-ary Tree Preorder Traversal solution C++
590 N-ary Tree Postorder Transversal solution C++
598 Range Addition II C++
599 Minimum Index Sum of Two Lists solution C++
600 Non-negative Integers without Consecutive Ones solution
[缺:Bit Manipulation]
C++
622 Design Circular Queue [无] C++
637 Average of Levels in Binary Tree solution C++
648 Replace Words [无] C++
652 Find Duplicate Subtrees solution C++
672 Bulb Switcher II solution C++
673 Number of Longest Increasing Subsequence [缺:BIT;线段树] C++
674 Longest Continuous Increasing Subsequence C++
675 Cut Off Trees for Golf Event [缺:A*;Hadlock's Algo] C++
676 Implement Magic Dictionary solution C++
677 Map Sum Pairs solution C++
684 Redundant Connection solution C++
685 Redundant Connection II solution C++
690 Employee Importance solution C++
692 Top K Frequent Words solution C++
694 Number of Distinct Islands [review: hash的方式] C++
695 Max-Area-of-Island C++
696 Count Binary Substrings C++
697 Degree of an Array C++
698 Partition to K Equal Sum Subsets C++ Java
699 Falling Squares [缺:线段树;块状链表] C++
704 Binary Search [无] C++
705 Design HashSet [无] C++
706 Design HashMap [无] C++
707 Design Linked List [无] C++
708 Insert into a Cyclic Sorted List [无] C++
710 Random Pick with Blacklist solution C++
711 Number of Distinct Islands II [review: hash的方式] C++
712 Minimum ASCII Delete Sum for Two Strings C++
713 Subarray Product Less Than K C++
714 Best Time to Buy and Sell Stock with Transaction Fee C++
715 Range Module [缺:set查找] C++
716 Max Stack solution C++
717 1-bit and 2-bit Characters C++
718 Maximum Length of Repeated Subarray [缺:Rolling Hash] C++
719 Find K-th Smallest Pair Distance [缺:二分搜索] C++
720 Longest Word in Dictionary solution C++
721 Accounts Merge solution C++
722 Remove Comments solution C++
723 Candy Crush solution C++
724 Find Pivot Index solution C++
725 Split Linked List in Parts solution C++
727 Minimum Window Subsequence solution C++
728 Self Dividing Numbers solution C++
729 My Calendar I solution C++
731 My Calendar II solution C++
732 My Calendar III solution C++
733 Flood Fill solution C++
734 Sentence Similarity solution C++
735 Asteroid Collision solution C++
736 Parse Lisp Expression solution C++
737 Sentence Similarity II solution C++
739 Daily Temperatures solution C++
740 Delete and Earn solution C++
741 Cherry Pickup solution
[缺:自底向上的动态规划]
C++
746 Min Cost Climbing Stairs solution C++
747 Largest Number At Least Twice of Others solution C++
752 Open the Lock solution C++
765 Couples Holding Hands solution C++
766 Toeplitz Matrix solution C++
771 Jewels and Stones solution C++
772 Basic Calculator III [无] C++
780 Reaching Points solution C++
781 Rabbits in Forest solution C++
783 Minimum Distance Between BST Nodes solution C++
784 Letter Case Permutation solution C++
785 Is Graph Bipartite? solution C++
786 K-th Smallest Prime Fraction solution
[缺:分治算法]
C++
787 Cheapest Flights Within K Stops solution
[缺:使用Heap]
C++
788 Rotated Digits solution C++
789 Escape The Ghosts solution C++
790 Domino and Tromino Tiling solution
[缺:转移矩阵求幂解法]
C++
791 Custom Sort String solution C++
792 Number of Matching Subsequences solution C++
793 Preimage Size of Factorial Zeroes Function solution C++
794 Valid Tic-Tac-Toe State solution C++
795 Number of Subarrays with Bounded Maximum solution C++
796 Rotate String solution
[缺:Rolling Hash]
C++
797 All Paths From Source to Target solution C++
799 Champagne Tower solution C++
800 Similar RGB Color solution C++
804 Unique Morse Code Words solution C++
805 Split Array With Same Average solution C++
806 Number of Lines To Write String solution C++
807 Max Increase to Keep City Skyline solution C++
809 Expressive Words solution C++
811 Subdomain Visit Count solution C++
817 Linked List Components solution C++
819 Most Common Word solution C++
841 Keys and Rooms solution C++
852 Peak Index in a Mountain Array solution C++
853 Car Fleet solution C++
854 K-Similar Strings solution C++
855 Exam Room solution C++
856 Score of Parentheses solution C++
857 Minimum Cost to Hire K Workers solution
[缺:二分搜索]
C++
858 Mirror Reflection solution C++
859 Buddy Strings solution C++
860 Lemonade Change solution C++
861 Score After Flipping Matrix solution C++
863 All Nodes Distance K in Binary Tree solution C++
864 Shortest Path to Get All Keys solution
[缺:Dijkstra]
C++
865 Smallest Subtree with all the Deepest Nodes solution C++
866 Prime Palindrome solution C++
867 Transpose Matrix solution C++
868 Binary Gap solution C++
869 Reordered Power of 2 solution C++
870 Advantage Shuffle solution C++
871 Minimum Number of Refueling Stops solution C++
872 Leaf-Similar Trees solution C++
873 Length of Longest Fibonacci Subsequence solution C++
874 Walking-Robot-Simulation solution C++
875 Koko Eating Bananas solution C++
876 Middle of the Linked List solution C++
877 Stone Game solution C++
878 Nth Magical Number solution C++
879 Profitable Schemes solution C++
880 Decoded String at Index solution C++
881 Boats to Save People solution C++
882 Reachable Nodes In Subdivided Graph solution C++
883 Projection Area of 3D Shapes solution C++
884 Uncommon Words from Two Sentences solution C++
885 Spiral Matrix III solution C++
886 Possible Bipartition solution C++
888 Fair Candy Swap solution C++
889 Construct Binary Tree from Preorder and Postorder Traversal solution C++
890 Find and Replace Pattern solution C++
891 Sum of Subsequence Widths solution C++
892 Surface Area of 3D Shapes solution C++
893 Groups of Special-Equivalent Strings solution C++
894 All Possible Full Binary Trees solution C++
895 Maximum Frequency Stack solution C++
896 Monotonic Array solution C++
897 Increasing Order Search Tree solution C++
898 Bitwise ORs of Subarrays solution C++
899 Orderly Queue solution C++
900 RLE Iterator solution C++
901 Online Stock Span solution C++
902 Numbers At Most N Given Digit Set solution C++
903 Valid Permutations for DI Sequence solution
[缺:O(n^2) DP]
C++
904 Fruit Into Baskets solution C++
905 Sort Array By Parity solution C++
906 Super Palindromes solution C++
907 Sum of Subarray Minimums solution C++
908 Smallest Range I solution C++
909 Snakes and Ladders solution C++
910 Smallest Range II solution C++
911 Online Election solution C++
913 Cat and Mouse Game solution
[缺:DFS拓扑排序;DP]
C++
914 X of a Kind in a Deck of Cards solution C++
915 Partition Array into Disjoint Intervals solution C++
916 Word Subsets solution C++
917 Reverse Only Letters solution C++
918 Maximum Sum Circular Subarray solution C++
919 Complete Binary Tree Inserter solution C++
920 Number of Music Playlists solution
[缺:生成函数]
C++
921 Minimum Add to Make Parentheses Valid solution C++
922 Sort Array By Parity II solution C++
923 3Sum With Multiplicity solution C++
924 Minimize Malware Spread solution C++
925 Long Pressed Name solution C++
926 Flip String to Monotone Increasing solution C++
927 Three Equal Parts solution C++
928 Minimize Malware Spread II solution C++
929 Unique Email Addresses solution C++
930 Binary Subarrays With Sum solution C++
931 Minimum Path Falling Sum solution C++
932 Beautiful Array solution C++
933 Number of Recent Calls solution C++
934 Shortest Bridge solution C++
935 Knight Dialer solution C++
936 Stamping The Sequence solution C++
937 Reorder Log Files solution C++
938 Range Sum of BST solution C++
939 Minimum Area Rectangle solution C++
940 Distinct Subsequences II solution C++
941 Valid Mountain Array solution C++
942 DI String Match solution C++
943 Find the Shortest Superstring solution
[缺:动态规划]
C++
944 Delete Columns to Make Sorted solution C++
945 Minimum Increment to Make Array Unique solution C++
946 Validate Stack Sequences solution C++
947 Most Stones Removed with Same Row or Column solution C++
948 Bag of Tokens solution C++
949 Largest Time for Given Digits solution C++
950 Reveal Cards In Increasing Order solution C++
951 Flip Equivalent Binary Trees solution C++
952 Largest Component Size by Common Factor solution C++
953 isAlienSorted solution C++
954 Array of Doubled Pairs solution C++
955 Delete Columns to Make Sorted II solution C++
957 Prison Cells After N Days solution C++
958 Check Completeness of a Binary Tree solution C++
959 Regions Cut By Slashes solution C++
960 Delete Columns to Make Sorted III solution C++
969 Pancake Sorting solution C++
970 Powerful Integers solution C++
971 Flip Binary Tree To Match Preorder Traversal solution C++
972 Equal Rational Numbers solution C++
973 K Closest Points to Origin solution C++
974 Subarray Sums Divisible by K solution C++
976 Largest Perimeter Triangle solution C++
977 Squares of a Sorted Array solution C++
978 Longest Turbulent Subarray solution C++
979 Distribute Coins in Binary Tree solution C++
980 Unique Paths III solution C++ Java
981 Time Based Key-Value Store solution C++
982 Triples with Bitwise AND Equal To Zero [无] C++
983 Minimum Cost For Tickets solution C++
984 String Without AAA or BBB solution C++
985 Sum of Even Numbers After Queries solution C++
986 Interval List Intersections solution C++
987 Vertical Order Traversal of a Binary Tree solution C++
988 Smallest String Starting From Leaf solution C++
989 Add to Array-Form of Integer solution C++
990 Satisfiability of Equality Equations solution C++
991 Broken Calculator solution C++
992 Subarrays with K Different Integers solution C++

About

My Solutions to Leetcode problems. All solutions support C++ language, some support Java and Python. Multiple solutions will be given by most problems. Enjoy:) 我的Leetcode解答。所有的问题都支持C++语言,一部分问题支持Java语言。近乎所有问题都会提供多个算法解决。大家加油!:)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 84.7%
  • Java 10.8%
  • CMake 4.5%