An open API service indexing awesome lists of open source software.

https://github.com/shawnnew/myleetcodeanswer

Share my LeetCode answer
https://github.com/shawnnew/myleetcodeanswer

algorithms java leetcode-solutions

Last synced: 3 months ago
JSON representation

Share my LeetCode answer

Awesome Lists containing this project

README

          

## LeetCode算法归纳

我将LeetCode算法题按照标签整理了一些解题思路,下面会分别给出链接方便查看。同时,还我还贴出了一些刷题过程中记录的一些[笔记](#note)。

### 目录
* [Array](#array)
* [BackTracking](#back-tracking)
* [Binary Search](#binary-search)
* [Dynamic Programming](#dynamic-programming)
* [Graph](#graph)
* [HashMap](#hashmap)
* [LinkedList](#linked-list)
* [Math](#math)
* [Sort](#sort)
* [Stack](#stack)
* [String](#string)
* [Tree](#tree)
* [TwoPointers](#two-pointers)
* [Note](#note)

### Array
* [*1. Two Sum*](docs/Two_Sum.md)
* [*4. Median of Two Sorted Arrays*](docs/MedianofTwoSortedArrays.md)
* [*18. 4Sum*](docs/4Sum.md)
* [*26. Remove Duplicate from Sorted Array*](docs/Remove_Duplicate_from_Sorted_Array.md)
* [*31. Next Permutation*](docs/Next_Permutation.md)
* [*41. First Missing Positive*](docs/FirstMissingPositive.md)
* [*48. Rotate Image*](docs/Rotate_Image.md)
* [*53. Maximum Subarray*](docs/Maximum_Subarray.md)
* [*53. Spiral Matrix*](docs/SpiralMatrix.md)
* [*59. Spiral Matrix II*](docs/SpiralMatrixII.md)
* [*88. Merge Sorted Array*](docs/Merge_Sorted_Array.md)
* [*119. Pascal's Triangle*](docs/Pascal's_Triangle.md)
* [*120. Pascal's Triangle II*](docs/Pascal's_TriangleII.md)
* [*121. Best Time to Buy and Sell Stock(DP)*](docs/Best_Time_to_Buy_and_Sell_Stock(DP).md)
* [*122. Best Time to Buy and Sell Stock II*](docs/Best_Time_to_Buy_and_Sell_StockII.md)
* [*167. Two Sum II - Input array is sorted*](docs/Two_SumII-Input_array_is_sorted.md)
* [*169. Majority Element*](docs/Majority_Element.md)
* [*189. Rotate Array*](docs/Rotate_Array.md)
* [*206. Reverse Linked List*](docs/Reverse_Linked_List.md)
* [*217. Contains Duplicate*](docs/Contains_Duplicate.md)
* [*238. Product of Array Except Self*](docs/ProductofArrayExceptSelf.md)
* [*268. Missing Number*](docs/Missing_Number.md)
* [*283. Move Zeros*](docs/Move_Zeroes.md)
* [*414. Third Maximum Number*](docs/Third_Maximum_Number.md)
* [*448. Find All Number Disappeared in an Array*](docs/Find_All_Numbers_Disappeared_in_an_Array.md)
* [*485. Max Consecutive Ones*](docs/Max_Consecutive_Ones.md)
* [*532. K-diff Pairs in an Array*](docs/K-diff_Pairs_in_an_Array.md)
* [*561. Array Partition I*](docs/Array_Partition_I.md)
* [*566. Reshape the Matrix*](docs/Reshape_the_Matrix.md)
* [*581. Shortest Unsorted Continuous Subarray*](docs/Shortest_Unsorted_Continuous_Subarray.md)
* [*605. Can Place Flowers*](docs/Can_Place_Flowers.md)
* [*628. Maximum Product of Three Numbers*](docs/Maximum_Product_of_Three_Numbers.md)
* [*643. Maximum Average Subarray I*](docs/Maximum_Average_SubarrayI.md)
* [*661. Image Smoother*](docs/Image_Smoother.md)
* [*665. Non-decreasing Array*](docs/Non-decreasing_Array.md)
* [*674. Longest Continuous Increasing Subsequence*](docs/Longest_Continuous_Increasing_Subsequence.md)
* [*695. Max Area of Island*](docs/Max_Area_of_Island.md)
* [*697. Degree of an Array*](docs/Degree_of_an_Array.md)
* [*717. 1-bit and 2-bit Characters*](docs/1-bit_and_2-bit_Characters.md)
* [*724. Find Pivot Index*](docs/Find_Pivot_Index.md)

### Back Tracking

* [*17. Letter Combinations of a Phone Number*](docs/Letter_Combinations_of_a_Phone_Number.md)
* [*22. Generate Parentheses*](docs/Generate_Parentheses.md)
* [*37. Sudoku Solver*](docs/SudokuSolver.md)
* [*39. Combination Sum*](docs/Combination_Sum.md)
* [*40. Combination Sum II*](docs/Combination_SumII.md)
* [*46. Permutations*](docs/Permutations.md)
* [*47. Permutations II*](docs/PermutationsII.md)
* [*60. Permutation Sequence*](docs/Permutation_Sequence.md)
* [*77. Combinations*](docs/Combinations.md)
* [*78. Subsets*](docs/Subsets.md)
* [*401. Binary Watch*](docs/Binary_Watch.md)

### Binary Search
* [*33. Search in Rotated Sorted Array*](docs/Search_in_Rotated_Sorted_Array.md)
* [*34. Search for a Range*](docs/Search_for_a_Range.md)
* [*50. Pow(x, n)*](docs/Pow.md)
* [*278. First Bad Version*](docs/First_Bad_Version.md)
* [*374. Guess Number Higher of Lower*](docs/374Guess_Number_Higher_or_Lower.md)
* [*475. Heaters*](docs/Heaters.md)

### Dynamic Programming
* [*10. Regular Expression Matching*](docs/RegularExpressionMatching.md)
* [*32. Longest Valid Parentheses*](docs/LongestValidParentheses.md)
* [*62. Unique Paths*](docs/Unique_Paths.md)
* [*63. Unique Paths II*](docs/Unique_PathsII.md)
* [*64. Minimum Path Sum*](docs/Minimum_Path_Sum.md)
* [*70. Climbing Stairs*](docs/Climbing_Stairs.md)
* [*91. Decode Ways*](docs/Decode_Ways.md)
* [*198. House Robber*](docs/House_Robber.md)
* [*303. Range Sum Query - Immutable*](docs/Range_Sum_Query-Immutable.md)
* [*746. Min Cost Climbing Stairs*](docs/Min_Cost_Climbing_Stairs.md)

### Graph
* [*133. Clone Graph*](docs/Clone_Graph.md)

### HashMap
* [*30. Substring with Concatenation of All Words*](docs/SubstringwithConcatenationofAllWords.md)
* [*36. Valid Sudoku*](docs/Valid_Sudoku.md)
* [*46. Group Anagrams*](docs/Group_Anagrams.md)
* [*136. Single Number*](docs/Single_Number.md)
* [*202. Happy Number*](docs/Happy_Number.md)
* [*204. Count Primes*](docs/Count_Primes.md)
* [*205. Isomorphic Strings*](docs/Isomorphic_Strings.md)
* [*242. Valid Anagram*](docs/Valid_Anagram.md)
* [*290. Word Pattern*](docs/Word_Pattern.md)
* [*349. Intersection of Two Arrays*](docs/Intersection_of_Two_Arrays.md)
* [*350. Intersection of Two Arrays II*](docs/Intersection_of_Two_ArraysII.md)
* [*387. First Unique Character in a String*](docs/First_Unique_Character_in_a_String.md)
* [*389. Find the Difference*](docs/Find_the_Difference.md)
* [*438. Find All Anagrams in a String*](docs/Find_All_Anagrams_in_a_String.md)
* [*447. Number of Boomerangs*](docs/Number_of_Boomerangs.md)
* [*463. Island Perimeter*](docs/Island_Perimeter.md)
* [*500. Keyboard Row*](docs/Keyboard_Row.md)
* [*575. Distribute Candies*](docs/Distribute_Candies.md)
* [*594. Longest Harmonious Subsequence*](docs/Longest_Harmonious_Subsequence.md)
* [*599. Minimum Index Sum of Two Lists*](docs/Minimum_Index_Sum_of_Two_Lists.md)
* [*645. Set Mismatch*](docs/Set_Mismatch.md)
* [*690. Employee Importance*](docs/Employee_Importance.md)
* [*720. Longest Word in Dictionary*](docs/Longest_Word_in_Dictionary.md)
* [*734. Sentence Similarity*](docs/Sentence_Similarity.md)

### Linked List
* [*19. Remove Nth Node From End of List*](docs/Remove_Nth_Node_From_End_of_List.md)
* [*21. Merge Two Sorted Lists*](docs/Merge_Two_Sorted_Lists.md)
* [*25. Reverse Nodes in k-Group*](docs/ReverseNodesink-Group.md)
* [*23. Merge k Sorted Lists*](docs/MergekSortedLists.md)
* [*83. Remove Duplicates from Sorted List*](docs/Remove_Duplicates_from_Sorted_List.md)
* [*141. Linked List Cycle*](docs/1Linked_List_Cycle.md)
* [*160. Intersection of Two Linked Lists*](docs/Intersection_of_Two_Linked_Lists.md)
* [*203. Remove Linked List Elements*](docs/Remove_Linked_List_Elements.md)
* [*234. Palindrome Linked List*](docs/Palindrome_Linked_List.md#234-palindrome-linked-list)
* [*237. Delete Node in a Linked List*](docs/Delete_Node_in_a_Linked_List.md)
* [*445. Add Two Numbers II*](docs/Add_Two_Numbers_II.md)
* [*725. Split Linked List in Parts*](docs/Split_Linked_List_in_Parts.md#725-split-linked-list-in-parts)

### Math
* [*2. Add Two Numbers*](docs/Add_Two_Numbers.md)
* [*7. Reverse Integer*](docs/Reverse_Integer.md)
* [*9. Palindrome Number*](docs/Palindrome_Number.md)
* [*13. Roman to Integer*](docs/Roman_to_Integer.md)
* [*43. Multiply Strings*](docs/Multiply_Strings.md)
* [*67. Add Binary*](docs/Add_Binary.md)
* [*69. Sqrt(x)*](docs/Sqrt(x).md)
* [*168. Excel Sheet Column Title*](docs/Excel_Sheet_Column_Title.md)
* [*171. Excel Sheet Column Number*](docs/Excel_Sheet_Column_Number.md)
* [*172. Factorial Trailing Zeroes*](docs/Factorial_Trailing_Zeroes.md)
* [*231. Power of Two*](docs/Power_of_Two.md#231-power-of-two)
* [*258. Add Digits*](docs/Add_Digits.md)
* [*263. Ugly Number*](docs/Ugly_Number.md)
* [*326. Power of Three*](docs/Power_of_Three.md)
* [*367. Valid Perfect Square*](docs/Valid_Perfect_Square.md)
* [*400. Nth Digit*](docs/Nth_Digit.md)
* [*415. Add Strings*](docs/Add_Strings.md)
* [*441. Arranging Coins*](docs/Arranging_Coins.md)
* [*453. Minimum Moves to Equal Array Elements*](docs/Minimum_Moves_to_Equal_Array_Elements.md)
* [*507. Perfect Number*](docs/Perfect_Number.md)
* [*598. Range Addition II*](docs/Range_Addition_II.md)
* [*633. Sum of Square Numbers*](docs/Sum_of_Square_Numbers.md)
* [*728. Self Dividing Numbers*](docs/Self_Dividing_Numbers.md)


### Sort
* [*56. Merge Intervals*](docs/Merge_Intervals.md)
* [*75. Sort Colors*](docs/Sort_Colors.md)
* [*147. Insertion Sort List*](docs/Insertion_Sort_List.md)
* [*148. Sort List*](docs/Sort_List.md)
* [*179. Largest Number*](docs/Largest_Number.md)
* [*274. H-Index*](docs/H-Index.md)

### Stack
* [*225. Implement Stack using Queues*](docs/Implement_Stack_using_Queues.md)
* [*232. Implement Queue using Stacks*](docs/Implement_Queue_using_Stacks.md)
* [*496. Next Greater Element I*](docs/Next_Greater_ElementI.md)
* [*682. Baseball Game*](docs/Baseball_Game.md)


### String
* [*5. Longest Palindromic Substring*](docs/Longest_Palindromic_Substring.md)
* [*12. Integer to Roman*](docs/Integer_to_Roman.md)
* [*14. Longest Common Prefix*](docs/Longest_Common_Prefix.md)
* [*20. Valid Parentheses*](docs/Valid_Parentheses.md)
* [*38. Count and Say*](docs/Count_and_Say.md)
* [*58. Length of Last Word*](docs/Length_of_Last_Word.md)
* [*345. Reverse Vowels of a String*](docs/Reverse_Vowels_of_a_String.md)
* [*383. Ransom Note*](docs/Ransom_Note.md)
* [*434. Number of Segments in a String*](docs/Number_of_Segments_in_a_String.md)
* [*443. String Compression*](docs/String_Compression.md)
* [*459. Repeated Substring Pattern*](docs/Repeated_Substring_Pattern.md)
* [*520. Detect Capital*](docs/Detect_Capital.md)
* [*541. Reverse String II*](docs/Reverse_StringII.md)
* [*551. Student Attendance Record I*](docs/Student_Attendance_RecordI.md)
* [*557. Reverse Words in a String III*](docs/Reverse_Words_in_a_StringIII.md)
* [*606. Construct String from Binary Tree*](docs/Construct_String_from_Binary_Tree.md)
* [*657. Judge Route Circle*](docs/Judge_Route_Circle.md)
* [*680. Valid Palindrome II*](docs/Valid_PalindromeII.md)
* [*686. Repeated String Match*](docs/Repeated_String_Match.md)
* [*696. Count Binary Substrings*](docs/Count_Binary_Substrings.md)
* [*744. Find Smallest Letter Greater Than Target*](docs/Find_Smallest_Letter_Greater_Than_Target.md)
* [*784. Letter Case Permutation*](docs/LetterCasePermutation.md)
* [*796. Rotate String*](docs/RotateString.md)


### Tree
* [*94. Binary Tree Inorder Traversal*](docs/Binary_Tree_Inorder_Traversal.md)
* [*95. Unique Binary Search Trees II*](docs/Unique_Binary_Search_TreesII.md)
* [*96. Unique Binary Search Trees*](docs/Unique_Binary_Search_Trees.md)
* [*98. Validate Binary Search Tree*](docs/Validate_Binary_Search_Tree.md)
* [*100. Same Tree*](Tree/Same_Tree.md)
* [*102. Binary Tree Level Order Traversal*](docs/BinaryTreeLevelOrderTraversal)
* [*103. Binary Tree Zigzag Level Order Traversal*](docs/Binary_Tree_Zigzag_Level_Order_Traversal.md)
* [*105. Construct Binary Tree from Preorder and Inorder Traversal*](docs/Construct_Binary_Tree_from_Preorder_and_Inorder_Traversal.md)
* [*106. Construct Binary Tree from Inorder and Postorder Traversal*](docs/Construct_Binary_Tree_from_Inorder_and_Postorder_Traversal.md)
* [*108. Convert Sorted Array to Binary Search Tree*](docs/Convert_Sorted_Array_to_Binary_Search_Tree.md)
* [*110. Balanced Binary Tree*](docs/Balanced_Binary_Tree.md)
* [*111. Minimum Depth of Binary Tree*](docs/Minimum_Depth_of_Binary_Tree.md)
* [*637. Average of Levels in Binary Tree*](docs/AverageofLevelsinBinaryTree.md)


### Two Pointers
* [*3. Longest Substring Without Repeating Characters*](docs/Longest_Substring_Without_Repeating_Characters.md)
* [*11. Container With Most Water*](docs/Container_With_Most_Water.md)
* [*15. 3Sum*](docs/3Sum.md)
* [*16. 3Sum Closest*](docs/3Sum_Closest.md)
* [*19. Remove Nth Node From End of List*](docs/Remove_Nth_Node_From_End_of_List.md)
* [*24. Swap Nodes in Paris*](docs/Swap_Nodes_in_Pairs.md)
* [*28. Implement strStr()*](docs/Implement_strStr().md)
* [*31. Next Permutation*](docs/Next_Permutation.md)
* [*125. Valid Palindrome*](docs/Valid_Palindrome.md)
* [*344. Reverse String*](docs/Reverse_String.md)

### Note
* [*一些Java使用中的技巧*](docs/一些Java使用中的技巧.md)
* [*刷LeetCode时遇到的一些知识点:*](docs/刷LeetCode时遇到的一些知识点.md)
* [*排序*](docs/排序.md)
* [*矩阵的转置变换、翻转行/列、旋转*](docs/矩阵变换.md)