# LeetCode **Repository Path**: sherlockyb/LeetCode ## Basic Information - **Project Name**: LeetCode - **Description**: LeetCode Java解决方案,不仅包括代码,还包括想法描述。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-04 - **Last Updated**: 2022-04-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: LeetCode, Algorithm ## README ### LeetCode Solutions ### Algorithm | No. | Title | Solution | Time | Space | Difficulty | | :--- | ------------------------------------------------------------ | ------------------------------------------------------------ | ---------------- | ------------- | ---------- | | 1 | [Two Sum](https://leetcode.com/problems/two-sum/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/array/twoSum) | *O(n)* | *O(n)* | Easy | | 2 | [Add Two Numbers](https://leetcode.com/problems/add-two-numbers) | [Java](src/main/java/org/sherlockyb/leetcode/linkedlist/addTwoNumbers) | *O(n)* | *O(1)* | Medium | | 3 | [Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/string/longestSubstringWithoutRepeatingCharacters/Solution.java)/[Java](src/main/java/org/sherlockyb/leetcode/string/longestSubstringWithoutRepeatingCharacters/SolutionFaster.java) | *O(n^2)*/*O(n)* | *O(1)*/*O(n)* | Medium | | 4 | [Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/array/medianOfTwoSortedArrays) | *O(m+n)* | *O(m+n)* | Hard | | 5 | [Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/string/longestPalindromicSubstring) | *O(n^2)* | *O(1)* | Medium | | 6 | [ZigZag Conversion](https://leetcode.com/problems/zigzag-conversion/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/string/zigZagConversion/Solution.java)/[Java](src/main/java/org/sherlockyb/leetcode/string/zigZagConversion) | *O(n)*/*O(n)* | *O(n)* | Medium | | 7 | [Reverse Integer](https://leetcode.com/problems/reverse-integer/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/math/reverseInteger) | *O(n)* | *O(n)* | Easy | | 8 | [String to Integer (atoi)](https://leetcode.com/problems/string-to-integer-atoi/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/string/stringToInteger) | *O(n)* | *O(1)* | Medium | | 9 | [Palindrome Number](https://leetcode.com/problems/palindrome-number/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/math/palindromeNumber) | *O(n)* | *O(1)* | Easy | | 10 | [Regular Expression Matching](https://leetcode.com/problems/regular-expression-matching/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/string/regularExpressionMatching) | *O(m\*n)* | *O(1)* | Hard | | 11 | [Container With Most Water](https://leetcode.com/problems/container-with-most-water/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/dynamicProgramming/containerWithMostWater) | *O(n)* | *O(1)* | Medium | | 12 | [Integer to Roman](https://leetcode.com/problems/integer-to-roman/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/math/integerToRoman) | *O(1)* | *O(1)* | Medium | | 13 | [Roman to Integer](https://leetcode.com/problems/roman-to-integer/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/math/romanToInteger) | *O(1)* | *O(1)* | Easy | | 14 | [Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/string/longestCommonPrefix) | *O(n)* | *O(1)* | Easy | | 15 | [3Sum](src/main/java/org/sherlockyb/leetcode/array/threeSum/Solution.java) | [Java](src/main/java/org/sherlockyb/leetcode/array/threeSum) | *O(n^2)* | *O(n)* | Medium | | 16 | [3Sum Closest](https://leetcode.com/problems/3sum-closest/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/array/threeSumClosest) | *O(n^2)* | *O(1)* | Medium | | 17 | [Letter Combinations of a Phone Number](https://leetcode.com/problems/letter-combinations-of-a-phone-number/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/math/LetterCombinationOfPhoneNumber) | *O(n)* | *O(n)* | Medium | | 18 | [4Sum](https://leetcode.com/problems/4sum/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/array/fourSum) | *O(n^3)* | *O(n)* | Medium | | 19 | [Remove Nth Node From End of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/linkedlist/removeNthNodeFromEndofList) | *O(n)* | *O(n)* | Medium | | 20 | [Valid Parentheses](https://leetcode.com/problems/valid-parentheses/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/stack/validParentheses) | *O(n)* | *O(n)* | Easy | | 21 | [Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists/#/description) | [Java](src/main/java/org/sherlockyb/leetcode/linkedlist/mergeTwoSortedLists) | *O(m+n)* | *O(1)* | Easy | | 22 | [Generate Parentheses](https://leetcode.com/problems/generate-parentheses/description/) | [Java](src/main/java/org/sherlockyb/leetcode/backtracking/generateParentheses) | *O(n)* | *O(1)* | Medium | | 23 | [Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/description/) | [Java](src/main/java/org/sherlockyb/leetcode/linkedlist/mergekSortedLists) | *O(logK\*(eLi))* | *O(K\*logK)* | Hard | | 24 |[Swap Nodes in Pairs](https://leetcode.com/problems/swap-nodes-in-pairs/description/)|[Java](src/main/java/org/sherlockyb/leetcode/linkedlist/swapNodesInPairs)|*O(n)*|*O(1)*|Medium| | 25 |[Reverse Nodes in k-Group](https://leetcode.com/problems/reverse-nodes-in-k-group/description/)|[Java](src/main/java/org/sherlockyb/leetcode/linkedlist/reverseNodesInkGroup)|*O(n)*|*O(1)*|Hard| | 26 |[Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array/description/)|[Java](src/main/java/org/sherlockyb/leetcode/array/removeDuplicatesFromSortedArray)|*O(n)*|*O(1)*|Easy| | 27 |[Remove Element](https://leetcode.com/problems/remove-element/description/)|[Java](src/main/java/org/sherlockyb/leetcode/array/removeElement)|*O(n)*|*O(1)*|Easy| | 28 |[Implement strStr()](https://leetcode.com/problems/implement-strstr/description/)|[Java](src/main/java/org/sherlockyb/leetcode/string/implementStrStr/Solution.java)/[Java](src/main/java/org/sherlockyb/leetcode/string/implementStrStr)|*O(m\*n)*/*O(m+n)*|*O(n)*|Easy| | 29 |[Divide Two Integers](https://leetcode.com/problems/divide-two-integers/description/)|[Java](src/main/java/org/sherlockyb/leetcode/math/divideTwoIntegers)|*O(log_n_m)*|*O(1)*|Medium| | 30 |[Substring with Concatenation of All Words](https://leetcode.com/problems/substring-with-concatenation-of-all-words/description/)|[Java](src/main/java/org/sherlockyb/leetcode/string/substringWithConcatenationOfAllWords)|*O(len(s)\*n)*|*O(n)*|Hard| | 31 |[Next Permutation](https://leetcode.com/problems/next-permutation/description/)|[Java](src/main/java/org/sherlockyb/leetcode/array/nextPermutation)|*O(n^2)*|*O(1)*|Medium| | 32 |[Longest Valid Parentheses](https://leetcode.com/problems/longest-valid-parentheses/description/)|[Java](src/main/java/org/sherlockyb/leetcode/stack/longestValidParentheses)|*O(n^2)*|*O(1)*|Hard| | 33 |[Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/description/)|[Java](src/main/java/org/sherlockyb/leetcode/array/searchInRotatedSortedArray)|*O(logn)*|*O(1)*|Medium| |34|[Find First and Last Position of Element in Sorted Array](https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/)|[Java](src/main/java/org/sherlockyb/leetcode/array/firstAndLastPositionInSortedArray)|*O(logn)*|*O(1)*|Medium| |35|[Search Insert Position](https://leetcode.com/problems/search-insert-position/)|[Java](src/main/java/org/sherlockyb/leetcode/array/searchInsertPosition)|*O(logn)*|*O(1)*|Easy| |36|[Valid Sudoku](https://leetcode.com/problems/valid-sudoku/)|[Java](src/main/java/org/sherlockyb/leetcode/array/validSudoku)|-|*O(n)*|Medium| | 37 |[Sudoku Solver](https://leetcode.com/problems/sudoku-solver/)|[Java](src/main/java/org/sherlockyb/leetcode/array/sudokuSolver)|-|*O(1)*|Hard| | 38 |[Count and Say](https://leetcode.com/problems/count-and-say/)|[Java](src/main/java/org/sherlockyb/leetcode/math/countAndSay)|*O(n^2)*|*O(1)*|Easy| | 39 |[Combination Sum](https://leetcode.com/problems/combination-sum/)|[Java](src/main/java/org/sherlockyb/leetcode/array/combinationSum)|*O(target^n)*|*O(1)*|Medium| |40|[Combination Sum II](https://leetcode.com/problems/combination-sum-ii/)|[Java](src/main/java/org/sherlockyb/leetcode/array/combinationSumII)|*O(2^n)*|*O(1)*|Medium| |41|[First Missing Positive](https://leetcode.com/problems/first-missing-positive/)|[Java](src/main/java/org/sherlockyb/leetcode/array/firstMissingPositive)|*O(n)*|*O(1)*|Hard| |42|[Trapping Rain Water](https://leetcode.com/problems/trapping-rain-water/)|[Java](src/main/java/org/sherlockyb/leetcode/array/trappingRainWater)|*O(n\*logn)*|*O(1)*|Hard| |43|[Multiply Strings](https://leetcode.com/problems/multiply-strings/)|[Java](src/main/java/org/sherlockyb/leetcode/array/multiplyStrings)|*O(m\*n)*|*O(m+n)*|Medium| |44|[Wildcard Matching](https://leetcode.com/problems/wildcard-matching/)|[Java](src/main/java/org/sherlockyb/leetcode/string/wildcardMatching)|*O(m\*n)*|*O(m\*n)*|Hard| |45|[Jump Game II](https://leetcode.com/problems/jump-game-ii/)|[Java](src/main/java/org/sherlockyb/leetcode/array/jumpGameII)|*O(n^2)*|*O(n)*|Medium| |46|[Permutations](https://leetcode.com/problems/permutations/)|[Java](src/main/java/org/sherlockyb/leetcode/array/permutations)|*O(n!)*|*O(1)*|Medium| |47|[Permutations II](https://leetcode.com/problems/permutations-ii/)|[Java](src/main/java/org/sherlockyb/leetcode/array/permutationsII)|*O(n!)*|*O(1)*|Medium| |48|[Rotate Image](https://leetcode.com/problems/rotate-image/)|[Java](src/main/java/org/sherlockyb/leetcode/array/rotateImage)|*O(n^2)*|*O(1)*|Medium| |49|[Group Anagrams](https://leetcode.com/problems/group-anagrams/)|[Java](src/main/java/org/sherlockyb/leetcode/array/groupAnagrams)|-|*O(n)*|Medium| |50|[Pow(x, n)](https://leetcode.com/problems/powx-n/)|[Java](src/main/java/org/sherlockyb/leetcode/math/powXN)|*O(n)/O(logn)*|*O(1)*|Medium| |51|[N-Queens](https://leetcode.com/problems/n-queens/)|[Java](src/main/java/org/sherlockyb/leetcode/backtracking/nQueens)|*O(n^3)*|*O(n^2)*|Hard|