[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6847":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},6847,"LeetCode-Swift","soapyigu\u002FLeetCode-Swift","soapyigu","Solutions to LeetCode by Swift","",null,"Swift",4959,895,165,9,0,3,30.86,"MIT License",false,"master",true,[24,25,26,27,28],"algorithm","data-structures","interview","leetcode","swift","2026-06-12 02:01:30","# LeetCode by Swift\n[LeetCode Online Judge](https:\u002F\u002Fleetcode.com\u002F) is a website containing many **algorithm questions**. Most of them are real interview questions of **Google, Facebook, LinkedIn, Apple**, etc. This repo shows my solutions by Swift with the code style strictly follows the [RayWenderlich Swift Style Guide](https:\u002F\u002Fgithub.com\u002Fraywenderlich\u002Fswift-style-guide). Please feel free to reference and **STAR** to support this repo, thank you!\n\n![Leetcode](.\u002Flogo.png?style=centerme)\n\n## Progress\n[Problem Status](#problem-status) shows the latest progress to all 1000+ questions. Currently we have 400+ completed solutions. Note: questions with &hearts; mark means that you have to **Subscript to premium membership** of LeetCode to unlock them.\n\n## Contributors\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002FLeetcode_Contributors.png\">\n\u003C\u002Fp>\n\n## Data Structures\n* [Array](#array)\n* [String](#string)\n* [Linked List](#linked-list)\n* [Stack](#stack)\n* [Queue](#queue)\n* [Tree](#tree)\n* [Dynamic programming](#dynamic-programming)\n* [Depth-first search](#depth-first-search)\n* [Breadth-first search](#breadth-first-search)\n* [Math](#math)\n* [Search](#search)\n* [Sort](#sort)\n* [Graph](#graph)\n* [Design](#design)\n\n## Companies\n* [Google](#google)\n* [Facebook](#facebook)\n* [Snapchat](#snapchat)\n* [Uber](#uber)\n* [Airbnb](#airbnb)\n* [LinkedIn](#linkedin)\n* [Amazon](#amazon)\n* [Microsoft](#microsoft)\n\n\n## Array\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Verify an Alien Dictionary](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fverifying-an-alien-dictionary\u002F)|[Swift](Array\u002FVerifyingAlienDictionary.swift)| Easy| O(n)| O(n)|\n[Sort Array By Parity](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsort-array-by-parity\u002F)|[Swift](Array\u002FSortArrayByParity.swift)| Easy| O(n)| O(n)|\n[Max Consecutive Ones](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmax-consecutive-ones\u002F)| [Swift](.\u002FArray\u002FMaxConsecutiveOnes.swift)| Easy| O(n)| O(1)|\n[Heaters](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fheaters\u002F)| [Swift](.\u002FArray\u002FHeaters.swift)| Easy| O(nlogn)| O(1)|\n[Number of Boomerangs](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnumber-of-boomerangs\u002F)| [Swift](.\u002FArray\u002FNumberBoomerangs.swift)| Easy| O(n ^ 2)| O(n)|\n[Island Perimeter](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fisland-perimeter\u002F)| [Swift](.\u002FArray\u002FIslandPerimeter.swift)| Easy| O(nm)| O(1)|\n[Majority Element](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmajority-element\u002F)| [Swift](.\u002FArray\u002FMajorityElement.swift)| Easy| O(n)| O(1)|\n[Majority Element II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmajority-element-ii\u002F)| [Swift](.\u002FArray\u002FMajorityElementII.swift)| Medium| O(n)| O(1)|\n[First Missing Positive](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffirst-missing-positive\u002F)| [Swift](.\u002FArray\u002FFirstMissingPositive.swift)| Hard| O(n)| O(n)|\n[Intersection of Two Arrays](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fintersection-of-two-arrays\u002F)| [Swift](.\u002FArray\u002FIntersectionTwoArrays.swift)| Easy| O(n)| O(n)|\n[Intersection of Two Arrays II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fintersection-of-two-arrays-ii\u002F)| [Swift](.\u002FArray\u002FIntersectionTwoArraysII.swift)| Easy| O(n)| O(n)|\n[Contains Duplicate](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcontains-duplicate\u002F)| [Swift](.\u002FArray\u002FContainsDuplicate.swift)| Easy| O(n)| O(n)|\n[Contains Duplicate II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcontains-duplicate-ii\u002F)| [Swift](.\u002FArray\u002FContainsDuplicateII.swift)| Easy| O(n)| O(n)|\n[Remove Duplicates from Sorted Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fremove-duplicates-from-sorted-array\u002F)| [Swift](.\u002FArray\u002FRemoveDuplicatesFromSortedArray.swift)| Easy| O(n)| O(1)|\n[Remove Duplicates from Sorted Array II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fremove-duplicates-from-sorted-array-ii\u002F)| [Swift](.\u002FArray\u002FRemoveDuplicatesFromSortedArrayII.swift)| Medium| O(n)| O(1)|\n[Move Zeroes](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmove-zeroes\u002F)| [Swift](.\u002FArray\u002FMoveZeroes.swift)| Easy| O(n)| O(1)|\n[Remove Element](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fremove-element\u002F)| [Swift](.\u002FArray\u002FRemoveElement.swift)| Easy| O(n)| O(1)|\n[Strobogrammatic Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fstrobogrammatic-number\u002F)| [Swift](.\u002FArray\u002FStrobogrammaticNumber.swift)| Easy| O(n)| O(1)|\n[Can Place Flowers](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcan-place-flowers\u002F)| [Swift](.\u002FArray\u002FCanPlaceFlowers.swift)| Easy| O(n)| O(1)|\n[Two Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftwo-sum\u002F)| [Swift](.\u002FArray\u002FTwoSum.swift)| Easy| O(n)| O(n)|\n[Two Sum II - Input array is sorted](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftwo-sum-ii-input-array-is-sorted\u002F)| [Swift](.\u002FArray\u002FTwoSumII.swift)| Easy| O(n)| O(1)|\n[Two Sum III - Data structure design](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftwo-sum-iii-data-structure-design\u002F)| [Swift](.\u002FArray\u002FTwoSumIII.swift)| Easy| O(n)| O(1)|\n[Two Sum Less Than K](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftwo-sum-less-than-k\u002F)| [Swift](.\u002FArray\u002FTwoSumLessThanK.swift)| Easy| O(nlogn)| O(n)|\n[3Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002F3sum\u002F)| [Swift](.\u002FArray\u002FThreeSum.swift)| Medium| O(n^2)| O(nC3)|\n[3Sum Closest](https:\u002F\u002Fleetcode.com\u002Fproblems\u002F3sum-closest\u002F)| [Swift](.\u002FArray\u002FThreeSumClosest.swift)| Medium| O(n^2)| O(nC3)|\n[4Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002F4sum\u002F)| [Swift](.\u002FArray\u002FFourSum.swift)| Medium| O(n^3)| O(nC4)|\n[Increasing Triplet Subsequence](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fincreasing-triplet-subsequence\u002F)| [Swift](.\u002FArray\u002FIncreasingTripletSubsequence.swift)| Medium| O(n)| O(1)|\n[Summary Ranges](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsummary-ranges\u002F)| [Swift](.\u002FArray\u002FSummaryRanges.swift)| Medium| O(n)| O(n)|\n[Range Sum Query 2D - Immutable](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Frange-sum-query-2d-immutable\u002F)| [Swift](.\u002FArray\u002FNumMatrix.swift)| Medium| O(mn)| O(mn)|\n[Missing Ranges](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmissing-ranges\u002F)| [Swift](.\u002FArray\u002FMissingRanges.swift)| Medium| O(n)| O(1)|\n[Asteroid Collision](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fasteroid-collision\u002F)| [Swift](.\u002FArray\u002FAsteroidCollision.swift)| Medium| O(n)| O(n)|\n[Maximize Distance to Closest Person](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmaximize-distance-to-closest-person\u002F)| [Swift](.\u002FArray\u002FMaximizeDistanceToClosestPerson.swift)| Easy| O(n)| O(1)|\n[Exam Room](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fexam-room\u002F)| [Swift](.\u002FArray\u002FExamRoom.swift)| Medium| O(n)| O(n)|\n[Shortest Word Distance](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fshortest-word-distance\u002F)| [Swift](.\u002FArray\u002FShortestWordDistance.swift)| Easy| O(n)| O(1)|\n[Shortest Word Distance II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fshortest-word-distance-ii\u002F)| [Swift](.\u002FArray\u002FShortestWordDistanceII.swift)| Medium| O(n)| O(n)|\n[Shortest Word Distance III](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fshortest-word-distance-iii\u002F)| [Swift](.\u002FArray\u002FShortestWordDistanceIII.swift)| Medium| O(n)| O(1)|\n[Minimum Size Subarray Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fminimum-size-subarray-sum\u002F)| [Swift](.\u002FArray\u002FMinimumSizeSubarraySum.swift)| Medium| O(n)| O(1)|\n[Maximum Size Subarray Sum Equals k](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmaximum-size-subarray-sum-equals-k\u002F)| [Swift](.\u002FArray\u002FMaximumSizeSubarraySumEqualsK.swift)| Medium| O(n)| O(n)|\n[Smallest Range](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsmallest-range\u002F)| [Swift](.\u002FArray\u002FSmallestRange.swift)| Hard | O(nm)| O(nm)|\n[Product of Array Except Self](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fproduct-of-array-except-self\u002F)| [Swift](.\u002FArray\u002FProductExceptSelf.swift)| Medium| O(n)| O(1)|\n[Rotate Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Frotate-array\u002F)| [Swift](.\u002FArray\u002FRotateArray.swift)| Easy| O(n)| O(1)|\n[Rotate Image](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Frotate-image\u002F)| [Swift](.\u002FArray\u002FRotateImage.swift)| Medium| O(n^2)| O(1)|\n[Spiral Matrix](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fspiral-matrix\u002F)| [Swift](.\u002FArray\u002FSpiralMatrix.swift)| Medium| O(n^2)| O(1)|\n[Spiral Matrix II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fspiral-matrix-ii\u002F)| [Swift](.\u002FArray\u002FSpiralMatrixII.swift)| Medium| O(n^2)| O(1)|\n[Diagonal Traverse](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdiagonal-traverse\u002Fdescription\u002F)| [Swift](.\u002FArray\u002FDiagonalTraverse.swift)| Medium| O(mn)| O(1)|\n[Valid Sudoku](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-sudoku\u002F)| [Swift](.\u002FArray\u002FValidSudoku.swift)| Easy| O(n^2)| O(n)|\n[Set Matrix Zero](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fset-matrix-zeroes\u002F)| [Swift](.\u002FArray\u002FSetMatrixZeroes.swift)| Medium| O(n^2)| O(1)|\n[Next Permutation](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnext-permutation\u002F)| [Swift](.\u002FArray\u002FNextPermutation.swift)| Medium| O(n)| O(1)|\n[Gas Station](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fgas-station\u002F)| [Swift](.\u002FArray\u002FGasStation.swift)| Medium| O(n)| O(1)|\n[Game of Life](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fgame-of-life\u002F)| [Swift](.\u002FArray\u002FGameLife.swift)| Medium| O(n)| O(1)|\n[Task Scheduler](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftask-scheduler\u002F)| [Swift](.\u002FArray\u002FTaskScheduler.swift)| Medium| O(nlogn)| O(n)|\n[Validate IP Address](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalidate-ip-address\u002F)| [Swift](.\u002FArray\u002FValidateIPAddress.swift)| Medium| O(n)| O(1)|\n[Sliding Window Maximum ](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsliding-window-maximum\u002F)| [Swift](.\u002FArray\u002FSlidingWindowMaximum.swift)| Hard| O(n)| O(n)|\n[Longest Consecutive Sequence](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-consecutive-sequence\u002F)| [Swift](.\u002FArray\u002FLongestConsecutiveSequence.swift)| Hard| O(n)| O(n)|\n[Create Maximum Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcreate-maximum-number\u002F)| [Swift](.\u002FArray\u002FCreateMaximumNumber.swift)| Hard| O(n^2)| O(n)|\n[Find All Numbers Disappeared in an Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-all-numbers-disappeared-in-an-array\u002F)| [Swift](.\u002FArray\u002FFindDisappearedNumbers.swift)| Easy| O(n)| O(1)|\n\n## String\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Fizz Buzz](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffizz-buzz\u002F)| [Swift](.\u002FString\u002FFizzBuzz.swift)| Easy| O(n)| O(1)|\n[First Unique Character in a String](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffirst-unique-character-in-a-string\u002F)| [Swift](.\u002FString\u002FFirstUniqueCharacterInString.swift)| Easy| O(n)| O(1)|\n[Keyboard Row](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fkeyboard-row\u002F)| [Swift](.\u002FString\u002FKeyboardRow.swift)| Easy| O(nm)| O(n)|\n[Valid Word Abbreviation](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-word-abbreviation\u002F)| [Swift](.\u002FString\u002FValidWordAbbreviation.swift)| Easy| O(n)| O(n)|\n[Valid Palindrome](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-palindrome\u002F)| [Swift](.\u002FString\u002FValidPalindrome.swift)| Easy| O(n)| O(n)|\n[Valid Palindrome II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-palindrome-ii\u002F)| [Swift](.\u002FString\u002FValidPalindromeII.swift)| Easy| O(n)| O(n)|\n[Detect Capital](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdetect-capital\u002F)| [Swift](.\u002FString\u002FDetectCapital.swift)| Easy| O(n)| O(1)|\n[Count and Say](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcount-and-say\u002F)| [Swift](.\u002FString\u002FCountAndSay.swift)| Easy| O(n^2)| O(1)|\n[Flip Game](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fflip-game\u002F)| [Swift](.\u002FString\u002FFlipGame.swift)| Easy| O(n)| O(n)|\n[Implement strStr()](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fimplement-strstr\u002F)| [Swift](.\u002FString\u002FStrStr.swift)| Easy| O(nm)| O(n)|\n[Isomorphic Strings](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fisomorphic-strings\u002F)| [Swift](.\u002FString\u002FIsomorphicStrings.swift)| Easy| O(n)| O(n)|\n[Reverse String](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-string\u002F)| [Swift](.\u002FString\u002FReverseString.swift)| Easy| O(n)| O(n)|\n[Reverse String II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-string-ii\u002F)| [Swift](.\u002FString\u002FReverseStringII.swift)| Easy| O(n)| O(n)|\n[Reverse Vowels of a String](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-vowels-of-a-string\u002F)| [Swift](.\u002FString\u002FReverseVowelsOfAString.swift)| Easy| O(n)| O(n)|\n[Reverse Words in a String](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-words-in-a-string\u002F)| [Swift](.\u002FString\u002FReverseWordsString.swift)| Medium| O(n)| O(1)|\n[Reverse Words in a String II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-words-in-a-string-ii\u002F)| [Swift](.\u002FString\u002FReverseWordsStringII.swift)| Medium| O(n)| O(1)|\n[Reverse Words in a String III](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-words-in-a-string-iii\u002F)| [Swift](.\u002FString\u002FReverseWordsStringIII.swift)| Easy| O(n)| O(1)|\n[Length of Last Word](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flength-of-last-word\u002F)| [Swift](.\u002FString\u002FAddStrings.swift)| Easy| O(n)| O(n)|\n[String Compression](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fstring-compression\u002F)| [Swift](.\u002FString\u002FStringCompression.swift)| Easy| O(n)| O(1)|\n[Add Strings](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fadd-strings\u002F)| [Swift](.\u002FString\u002FLengthLastWord.swift)| Easy| O(n)| O(1)|\n[Shortest Distance to a Character](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fshortest-distance-to-a-character\u002F)| [Swift](.\u002FString\u002FShortestDistanceToACharacter.swift)| Easy| O(n)| O(1)|\n[Multiply Strings](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmultiply-strings\u002F)| [Swift](.\u002FString\u002FMultiplyStrings.swift)| Medium| O(n)| O(1)|\n[Palindrome Permutation](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpalindrome-permutation\u002F)| [Swift](.\u002FString\u002FPalindromePermutation.swift)| Easy| O(n)| O(n)|\n[Valid Anagram](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-anagram\u002F)| [Swift](.\u002FString\u002FValidAnagram.swift)| Easy| O(n)| O(n)|\n[Ransom Note](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fransom-note\u002F)| [Swift](.\u002FString\u002FRansomNote.swift)| Easy| O(n)| O(n)|\n[Group Anagrams](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fanagrams\u002F)| [Swift](.\u002FString\u002FGroupAnagrams.swift)| Medium| O(nmlogm + nlogn)| O(n)\n[Find Duplicate File in System](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-duplicate-file-in-system\u002F)| [Swift](.\u002FString\u002FFindDuplicateFileInSystem.swift)| Medium| O(nm)| O(n)\n[Longest Common Prefix](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-common-prefix\u002F)| [Swift](.\u002FString\u002FLongestCommonPrefix.swift)| Easy| O(nm)| O(m)|\n[Longest Substring Without Repeating Characters](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-substring-without-repeating-characters\u002F)| [Swift](.\u002FString\u002FLongestSubstringWithoutRepeatingCharacters.swift)| Medium| O(n)| O(n)|\n[One Edit Distance](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fone-edit-distance\u002F)| [Swift](.\u002FString\u002FOneEditDistance.swift)| Medium| O(n)| O(n)|\n[Word Pattern](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fword-pattern\u002F)| [Swift](.\u002FString\u002FWordPattern.swift)| Easy| O(n)| O(n)|\n[Permutation in String](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpermutation-in-string\u002F)| [Swift](\u002F.String\u002FPermutationInString.swift)| Medium| O(nm)| O(n)|\n[Find All Anagrams in a String](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-all-anagrams-in-a-string\u002F)| [Swift](\u002F.String\u002FFindAllAnagramsInAString.swift)| Medium| O(n)| O(n)|\n[Minimum Window Substring](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fminimum-window-substring\u002F)| [Swift](.\u002FString\u002FMinimumWindowSubstring.swift)| Hard| O(n^2)| O(n)|\n[Longest Substring with At Most Two Distinct Characters](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-substring-with-at-most-two-distinct-characters\u002F)| [Swift](.\u002FString\u002FLongestSubstringMostTwoDistinctCharacters.swift)| Hard| O(n)| O(n)|\n[Longest Substring with At Most K Distinct Characters](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-substring-with-at-most-k-distinct-characters\u002F)| [Swift](.\u002FString\u002FLongestSubstringMostKDistinctCharacters.swift)| Hard| O(n)| O(n)|\n[Text Justification](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftext-justification\u002F)| [Swift](.\u002FString\u002FTextJustification.swift)| Hard| O(n)| O(n)|\n[Find the Closest Palindrome](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-the-closest-palindrome\u002F)| [Swift](.\u002FString\u002FFindClosestPalindrome.swift)| Hard| O(n)| O(n)|\n\n## Linked List\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Reverse Linked List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-linked-list\u002F)| [Swift](.\u002FLinkedList\u002FReverseLinkedList.swift)| Easy| O(n)| O(1)|\n[Palindrome Linked List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpalindrome-linked-list\u002F)| [Swift](.\u002FLinkedList\u002FPalindromeLinkedList.swift)| Easy| O(n)| O(1)|\n[Swap Nodes in Pairs](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fswap-nodes-in-pairs\u002F)| [Swift](.\u002FLinkedList\u002FSwapNodesInPairs.swift)| Easy| O(n)| O(1)|\n[Remove Linked List Elements](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fremove-linked-list-elements\u002F)| [Swift](.\u002FLinkedList\u002FRemoveLinkedListElements.swift)| Easy| O(n)| O(1)|\n[Remove Duplicates from Sorted List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fremove-duplicates-from-sorted-list\u002F)| [Swift](.\u002FLinkedList\u002FRemoveDuplicatesFromSortedList.swift)| Easy| O(n)| O(1)|\n[Remove Duplicates from Sorted List II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fremove-duplicates-from-sorted-list-ii\u002F)| [Swift](.\u002FLinkedList\u002FRemoveDuplicatesFromSortedListII.swift)| Medium| O(n)| O(1)|\n[Remove Nth Node From End of List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fremove-nth-node-from-end-of-list\u002F)| [Swift](.\u002FLinkedList\u002FRemoveNthFromEnd.swift)| Easy| O(n)| O(1)|\n[Odd Even Linked List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fodd-even-linked-list\u002F)| [Swift](.\u002FLinkedList\u002FOddEvenLinkedList.swift)| Medium| O(n)| O(1)|\n[Rotate List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Frotate-list\u002F)| [Swift](.\u002FLinkedList\u002FRotateList.swift)| Medium| O(n)| O(1)|\n[Reorder List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freorder-list\u002F)| [Swift](.\u002FLinkedList\u002FReorderList.swift)| Medium| O(n)| O(1)|\n[Merge Two Sorted Lists](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmerge-two-sorted-lists\u002F)| [Swift](.\u002FLinkedList\u002FMergeTwoSortedLists.swift)| Easy| O(n)| O(1)|\n[Merge k Sorted Lists](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmerge-k-sorted-lists\u002F)| [Swift](.\u002FLinkedList\u002FMergeKSortedLists.swift)| Hard| O(mlogn)| O(1)|\n[Partition List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpartition-list\u002F)| [Swift](.\u002FLinkedList\u002FPartitionList.swift)| Medium| O(n)| O(1)|\n[Reverse Nodes in k-Group](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-nodes-in-k-group\u002F)| [Swift](.\u002FLinkedList\u002FReverseNodesInKGroup.swift)| Hard| O(n)| O(1)|\n[LRU Cache](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flru-cache\u002F) | [Swift](.\u002FLinkedList\u002FLRUCache.swift) | Hard| O(1)| O(1)|\n[LFU Cache](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flfu-cache\u002F) | [Swift](.\u002FLinkedList\u002FLFUCache.swift) | Hard| O(1)| O(1)|\n\n## Stack\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Min Stack](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmin-stack\u002F)| [Swift](.\u002FStack\u002FMinStack.swift)| Easy| O(1)| O(n)|\n[Max Stack](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmax-stack\u002F)| [Swift](.\u002FStack\u002FMaxStack.swift)| Easy| O(n)| O(n)|\n[Valid Parentheses](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-parentheses\u002F)| [Swift](.\u002FStack\u002FValidParentheses.swift)| Easy| O(n)| O(n)|\n[Longest Valid Parentheses](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-valid-parentheses\u002F)| [Swift](.\u002FStack\u002FLongestValidParentheses.swift)| Hard| O(n)| O(n)|\n[Evaluate Reverse Polish Notation](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fevaluate-reverse-polish-notation\u002F)| [Swift](.\u002FStack\u002FEvaluateReversePolishNotation.swift)| Medium| O(n)| O(n)|\n[Exclusive Time of Functions](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fexclusive-time-of-functions\u002F)| [Swift](.\u002FStack\u002FExclusiveTimeFunctions.swift) | Medium| O(n)| O(n)|\n[Simplify Path](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsimplify-path\u002F)| [Swift](.\u002FStack\u002FSimplifyPath.swift)| Medium| O(n)| O(n)|\n[Remove K Digits](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fremove-k-digits\u002F)| [Swift](.\u002FStack\u002FRemoveKDigits.swift)| Medium| O(n)| O(n)|\n[Ternary Expression Parser](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fternary-expression-parser\u002F)| [Swift](.\u002FStack\u002FTernaryExpressionParser.swift)| Medium| O(n)| O(n)|\n[Binary Tree Preorder Traversal](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-preorder-traversal\u002F)| [Swift](.\u002FStack\u002FPreorderTraversal.swift)| Medium| O(n)| O(n)|\n[Binary Tree Inorder Traversal](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-inorder-traversal\u002F)| [Swift](.\u002FStack\u002FInorderTraversal.swift)| Medium| O(n)| O(n)|\n[Binary Search Tree Iterator](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-search-tree-iterator\u002F)| [Swift](.\u002FStack\u002FBinarySearchTreeIterator.swift)| Medium| O(n)| O(n)|\n[Binary Tree Postorder Traversal](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-postorder-traversal\u002F)| [Swift](.\u002FStack\u002FPostorderTraversal.swift)| Hard| O(n)| O(n)|\n[Decode String](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdecode-string\u002F)| [Swift](.\u002FStack\u002FDecodeString.swift)| Medium| O(n)| O(n)|\n[Basic Calculator](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbasic-calculator\u002F)| [Swift](.\u002FStack\u002FBasicCalculator.swift)| Hard| O(n)| O(n)|\n\n## Queue\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Implement Queue using Stacks](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fimplement-queue-using-stacks)| [Swift](.\u002FQueue\u002FImplementQueueUsingStacks.swift)| Easy| O(n)| O(n)|\n\n## Tree\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Same Tree](https:\u002F\u002Foj.leetcode.com\u002Fproblems\u002Fsame-tree\u002F)| [Swift](.\u002FTree\u002FSameTree.swift)| Easy| O(n)| O(n)|\n[Symmetric Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsymmetric-tree\u002F)| [Swift](.\u002FTree\u002FSymmetricTree.swift)| Easy| O(n)| O(n)|\n[Invert Binary Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Finvert-binary-tree\u002F)| [Swift](.\u002FTree\u002FInvertBinaryTree.swift)| Easy| O(n)| O(n)|\n[Binary Tree Upside Down](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-upside-down\u002F)| [Swift](.\u002FTree\u002FBinaryTreeUpsideDown.swift)| Medium| O(n)| O(1)|\n[Minimum Depth of Binary Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fminimum-depth-of-binary-tree\u002F)| [Swift](.\u002FTree\u002FMinimumDepthOfBinaryTree.swift)| Easy| O(n)| O(1)|\n[Maximum Depth of Binary Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmaximum-depth-of-binary-tree\u002F)| [Swift](.\u002FTree\u002FMaximumDepthOfBinaryTree.swift)| Easy| O(n)| O(1)|\n[Diameter of Binary Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdiameter-of-binary-tree\u002F)| [Swift](.\u002FTree\u002FDiameterBinaryTree.swift)| Easy| O(n)| O(1)|\n[Balanced Binary Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbalanced-binary-tree\u002F)| [Swift](.\u002FTree\u002FBalancedBinaryTree.swift)| Easy|  O(n)| O(n)|\n[Sum of Left Leaves](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsum-of-left-leaves\u002F)| [Swift](.\u002FTree\u002FSumLeftLeaves.swift)| Easy|  O(n)| O(1)|\n[Flatten Binary Tree to Linked List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fflatten-binary-tree-to-linked-list\u002F)| [Swift](.\u002FTree\u002FFlattenBinaryTreeLinkedList.swift)| Medium| O(n)| O(1)|\n[Convert Sorted Array to Binary Search Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fconvert-sorted-array-to-binary-search-tree\u002F)| [Swift](.\u002FTree\u002FConvertSortedArrayBinarySearchTree.swift)| Easy| O(n)| O(1)|\n[Validate Binary Search Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalidate-binary-search-tree\u002F)| [Swift](.\u002FTree\u002FValidateBinarySearchTree.swift)| Medium| O(n)| O(log n)|\n[Binary Tree Level Order Traversal](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-level-order-traversal\u002F)| [Swift](.\u002FTree\u002FBinaryTreeLevelOrderTraversal.swift)| Easy| O(n)| O(n)|\n[Binary Tree Level Order Traversal II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-level-order-traversal-ii\u002F)| [Swift](.\u002FTree\u002FBinaryTreeLevelOrderTraversalII.swift)| Easy| O(n)| O(n)|\n[Merge Two Binary Trees](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmerge-two-binary-trees\u002Fdescription\u002F) | [Swift](.\u002FTree\u002FMergeTwoBinaryTrees.swift) | Easy | O(n) | O(n) |\n[Binary Tree Zigzag Level Order Traversal](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-zigzag-level-order-traversal\u002F)| [Swift](.\u002FTree\u002FBinaryTreeZigzagLevelOrderTraversal.swift)| Medium| O(n)| O(n)|\n[Binary Tree Vertical Order Traversal](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-vertical-order-traversal\u002F)| [Swift](.\u002FTree\u002FBinaryTreeVerticalOrderTraversal.swift)| Medium| O(n)| O(n)|\n[Kth Smallest Element in a BST](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fkth-smallest-element-in-a-bst\u002F)| [Swift](.\u002FTree\u002FKthSmallestElementBST.swift)| Medium| O(n)| O(n)|\n[Binary Tree Right Side View](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-right-side-view\u002F)| [Swift](.\u002FTree\u002FBinaryTreeRightSideView.swift)| Medium| O(n)| O(n)|\n[Construct Binary Tree from Preorder and Inorder Traversal](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fconstruct-binary-tree-from-preorder-and-inorder-traversal\u002F)| [Swift](.\u002FTree\u002FConstructBinaryTreePreorderInorder.swift)| Medium| O(nlogn)| O(1)|\n[Construct Binary Tree from Inorder and Postorder Traversal](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fconstruct-binary-tree-from-inorder-and-postorder-traversal\u002F)| [Swift](.\u002FTree\u002FConstructBinaryTreeInorderPostorder.swift)| Medium| O(nlogn)| O(1)|\n[Path Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpath-sum\u002F)| [Swift](.\u002FTree\u002FPathSum.swift)| Easy| O(n)| O(n)|\n[Path Sum II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpath-sum-ii\u002F)| [Swift](.\u002FTree\u002FPathSumII.swift)| Medium| O(n)| O(n)|\n[Path Sum III](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpath-sum-iii\u002F)| [Swift](.\u002FTree\u002FPathSumIII.swift)| Easy| O(n^2)| O(1)|\n[Binary Tree Paths](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-paths\u002F)| [Swift](.\u002FTree\u002FBinaryTreePaths.swift)| Easy| O(n)| O(n)|\n[Binary Tree Maximum Path Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-maximum-path-sum\u002F)| [Swift](.\u002FTree\u002FBinaryTreeMaximumPathSum.swift)| Hard| O(n)| O(1)|\n[House Robber III](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fhouse-robber-iii\u002F)| [Swift](.\u002FTree\u002FHouseRobberIII.swift)| Medium| O(n)| O(1)|\n[Unique Binary Search Trees](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Funique-binary-search-trees\u002F)| [Swift](.\u002FTree\u002FUniqueBinarySearchTrees.swift)| Medium| O(n^2)| O(n)|\n[Recover Binary Search Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Frecover-binary-search-tree\u002F)| [Swift](.\u002FTree\u002FRecoverBinarySearchTree.swift)| Hard| O(n)| O(1)|\n[Serialize and Deserialize Binary Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fserialize-and-deserialize-binary-tree\u002F)| [Swift](.\u002FTree\u002FSerializeDeserializeBinaryTree.swift)| Hard| O(n)| O(n)|\n[Serialize and Deserialize N-ary Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fserialize-and-deserialize-n-ary-tree\u002F)| [Swift](.\u002FTree\u002FSerializeDeserializeNAryTree.swift)| Hard| O(n)| O(n)|\n\n## Dynamic programming\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Nested List Weight Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnested-list-weight-sum\u002F)| [Swift](.\u002FDP\u002FNestedListWeightSum.swift)| Easy| O(n)| O(1)|\n[Climbing Stairs](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fclimbing-stairs\u002F)| [Swift](.\u002FDP\u002FClimbingStairs.swift)| Easy| O(n)| O(1)|\n[Min Cost Climbing Stairs](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmin-cost-climbing-stairs\u002F)| [Swift](.\u002FDP\u002FMinCostClimbingStairs.swift)| Easy| O(n)| O(n)|\n[Unique Paths](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Funique-paths\u002F)| [Swift](.\u002FDP\u002FUniquePaths.swift)| Medium| O(mn)| O(mn)|\n[Unique Paths II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Funique-paths-ii\u002F)| [Swift](.\u002FDP\u002FUniquePathsII.swift)| Medium| O(mn)| O(mn)|\n[Nested List Weight Sum II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnested-list-weight-sum-ii\u002F)| [Swift](.\u002FDP\u002FNestedListWeightSumII.swift)| Medium| O(n)| O(n)|\n[Flip Game II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fflip-game-ii\u002F)| [Swift](.\u002FDP\u002FFlipGameII.swift)| Medium| O(n)| O(n)|\n[Can I Win](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcan-i-win\u002F)| [Swift](.\u002FDP\u002FCanIWin.swift)| Medium| O(2^n)| O(n)|\n[Decode Ways](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdecode-ways\u002F)| [Swift](.\u002FDP\u002FDecodeWays.swift) | Medium| O(n)|O(n)|\n[Minimum Path Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fminimum-path-sum\u002F)| [Swift](.\u002FDP\u002FMinimumPathSum.swift)| Medium| O(mn)| O(mn)|\n[Generate Parentheses](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fgenerate-parentheses\u002F)| [Swift](.\u002FDP\u002FGenerateParentheses.swift)| Medium| O(2^n)| O(n)|\n[Different Ways to Add Parentheses](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdifferent-ways-to-add-parentheses\u002F)| [Swift](.\u002FDP\u002FDifferentWaysAddParentheses.swift)| Medium| O(n^n)| O(n)|\n[Best Time to Buy and Sell Stock](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbest-time-to-buy-and-sell-stock\u002F)| [Swift](.\u002FDP\u002FBestTimeBuySellStock.swift)| Easy| O(n)| O(1)|\n[Best Time to Buy and Sell Stock II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbest-time-to-buy-and-sell-stock-ii\u002F)| [Swift](.\u002FDP\u002FBestTimeBuySellStockII.swift)| Medium| O(n)| O(1)|\n[Best Time to Buy and Sell Stock III](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbest-time-to-buy-and-sell-stock-iii\u002F)| [Swift](.\u002FDP\u002FBestTimeBuySellStockIII.swift)| Hard| O(n)| O(n)|\n[Best Time to Buy and Sell Stock IV](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fhttps:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbest-time-to-buy-and-sell-stock-iv\u002F)| [Swift](.\u002FDP\u002FBestTimeBuySellStockIV.swift)| Hard| O(n^2)| O(n)|\n[Best Time to Buy and Sell Stock with Cooldown](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbest-time-to-buy-and-sell-stock-with-cooldown\u002F)| [Swift](.\u002FDP\u002FBestTimeBuySellStockCooldown.swift)| Medium| O(n^2)| O(n)|\n[Maximum Sum of 3 Non-Overlapping Subarrays](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmaximum-sum-of-3-non-overlapping-subarrays\u002F)| [Swift](.\u002FDP\u002FMaximumSumThreeNonOverlappingSubarrays.swift)| Hard| O(n)| O(n)|\n[Coin Change](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcoin-change\u002F)| [Swift](.\u002FDP\u002FCoinChange.swift)| Medium| O(n^2)| O(n)|\n[Coin Change II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcoin-change-ii\u002F)| [Swift](.\u002FDP\u002FCoinChangeII.swift)| Medium| O(n^2)| O(n)|\n[Paint House](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpaint-house\u002F)| [Swift](.\u002FDP\u002FPaintHouse.swift)| Easy| O(n)| O(n)|\n[Paint House II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpaint-house-ii\u002F)| [Swift](.\u002FDP\u002FPaintHouseII.swift)| Hard| O(n)| O(1)|\n[Longest Increasing Subsequence](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-increasing-subsequence\u002F)| [Swift](.\u002FDP\u002FLongestIncreasingSubsequence.swift)| Medium| O(nlogn)| O(n)|\n[Longest Common Subsequence](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-increasing-subsequence\u002F)| [Swift](.\u002FDP\u002FLongestCommonSubsequence.swift)| Medium| O(mn)| O(1)|\n[Palindromic Substrings](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpalindromic-substrings\u002F)| [Swift](.\u002FDP\u002FPalindromicSubstrings.swift)| Medium| O(n^2)| O(n^2)|\n[Longest Palindromic Substring](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-palindromic-substring\u002F)| [Swift](.\u002FDP\u002FLongestPalindromicSubstring.swift)| Medium| O(n^2)| O(n^2)|\n[Perfect Squares](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fperfect-squares\u002F)| [Swift](.\u002FDP\u002FPerfectSquares.swift)| Medium| O(n^2)| O(n)|\n[House Robber](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fhouse-robber\u002F)| [Swift](.\u002FDP\u002FHouseRobber.swift)| Easy| O(n)| O(1)|\n[House Robber II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fhouse-robber-ii\u002F)| [Swift](.\u002FDP\u002FHouseRobberII.swift)| Medium| O(n)| O(1)|\n[Paint Fence](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpaint-fence\u002F)| [Swift](.\u002FDP\u002FPaintFence.swift)| Easy| O(n)| O(n)|\n[Maximum Subarray](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmaximum-subarray\u002F)| [Swift](.\u002FDP\u002FMaximumSubarray.swift)| Medium| O(n)| O(1)|\n[Maximum Product Subarray](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmaximum-product-subarray\u002F)| [Swift](.\u002FDP\u002FMaximumProductSubarray.swift)| Medium| O(n)| O(1)|\n[Maximum Number of Points with Cost](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmaximum-number-of-points-with-cost\u002F)| [Swift](.\u002FDP\u002FMaximumNumberPointsCost.swift)| Medium| O(mn)| O(1)|\n[Maximal Square](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmaximal-square\u002F)| [Swift](.\u002FDP\u002FMaximalSquare.swift)| Medium| O(mn)| O(mn)|\n[Edit Distance](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fedit-distance\u002F)| [Swift](.\u002FDP\u002FEditDistance.swift)| Hard| O(mn)| O(mn)|\n[Combination Sum IV](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcombination-sum-iv\u002F)| [Swift](.\u002FDP\u002FCombinationSumIV.swift)| Medium| O(2^n)| O(n)|\n[Triangle](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftriangle\u002F)| [Swift](.\u002FDP\u002FTriangle.swift)| Medium| O(2^n)| O(m)|\n[Wiggle Subsequence](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fwiggle-subsequence\u002F)| [Swift](.\u002FDP\u002FWiggleSubsequence.swift)| Medium| O(n)| O(1)|\n[Wildcard Matching](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fwildcard-matching\u002F)| [Swift](.\u002FDP\u002FWildcardMatching.swift)| Hard| O(mn)| O(mn)|\n[Regular Expression Matching](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fregular-expression-matching\u002F)| [Swift](.\u002FDP\u002FRegularExpressionMatching.swift)| Hard| O(mn)| O(mn)|\n[Minimum Window Subsequence](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fminimum-window-subsequence\u002F)| [Swift](.\u002FDP\u002FMinimumWindowSubsequence.swift)| Hard| O(mn)| O(mn)|\n[Guess Number Higher or Lower II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fguess-number-higher-or-lower-ii\u002F)| [Swift](.\u002FDP\u002FGuessNumberHigherOrLowerII.swift)| Medium| O(nlogn)| O(n^2)|\n[Burst Ballons](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fburst-balloons\u002F)| [Swift](.\u002FDP\u002FBurstBalloons.swift)| Hard| O(n^3)| O(n)|\n[Frog Jump](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffrog-jump\u002F)| [Swift](.\u002FDP\u002FFrogJump.swift)| Hard| O(n^2)| O(n)|\n[Jump Game](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fjump-game\u002F)| [Swift](.\u002FDP\u002FJumpGame.swift)| Medium| O(n)| O(1)|\n[Dungeon Game](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdungeon-game\u002F)| [Swift](.\u002FDP\u002FDungeonGame.swift)| Hard| O(nm)| O(nm)|\n\n\n## Depth-first search\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Permutations](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpermutations\u002F)| [Swift](.\u002FDFS\u002FPermutations.swift)| Medium| O(2^n)| O(n)|\n[Permutations II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpermutations-ii\u002F)| [Swift](.\u002FDFS\u002FPermutationsII.swift)| Medium| O(2^n)| O(n)|\n[Subsets](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsubsets\u002F)| [Swift](.\u002FDFS\u002FSubsets.swift)| Medium| O(n^n)| O(n)|\n[Subsets II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsubsets-ii\u002F)| [Swift](.\u002FDFS\u002FSubsetsII.swift)| Medium| O(2^n)| O(n)|\n[Combinations](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcombinations\u002F)| [Swift](.\u002FDFS\u002FCombinations.swift)| Medium| O(2^n)| O(n)|\n[Combination Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcombination-sum\u002F)| [Swift](.\u002FDFS\u002FCombinationSum.swift)| Medium| O(2^n)| O(n)|\n[Combination Sum II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcombination-sum-ii\u002F)| [Swift](.\u002FDFS\u002FCombinationSumII.swift)| Medium| O(2^n)| O(n)|\n[Combination Sum III](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcombination-sum-iii\u002F)| [Swift](.\u002FDFS\u002FCombinationSumIII.swift)| Medium| O(2^n)| O(n)|\n[Letter Combinations of a Phone Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fletter-combinations-of-a-phone-number\u002F)| [Swift](.\u002FDFS\u002FLetterCombinationsPhoneNumber.swift)| Medium| O(4^n)| O(n)|\n[Factor Combinations](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffactor-combinations\u002F)| [Swift](.\u002FDFS\u002FFactorCombinations.swift)| Medium| O(n^n))| O(2^n - 1)|\n[Strobogrammatic Number II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fstrobogrammatic-number-ii\u002F)| [Swift](.\u002FDFS\u002FStrobogrammaticNumberII.swift)| Medium| O(m^n)| O(n)|\n[Generalized Abbreviation](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fgeneralized-abbreviation\u002F)| [Swift](.\u002FDFS\u002FGeneralizedAbbreviation.swift)| Medium| O(n^n)| O(2^n)|\n[Palindrome Partitioning](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpalindrome-partitioning\u002F)| [Swift](.\u002FDFS\u002FPalindromePartitioning.swift)| Medium| O(n^n)| O(n)|\n[Is Graph Bipartite](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fis-graph-bipartite\u002F)| [Swift](.\u002FDFS\u002FIsGraphBipartite.swift)| Medium| O(n)| O(n)|\n[Number of Islands](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnumber-of-islands\u002F)| [Swift](.\u002FDFS\u002FNumberofIslands.swift)| Medium| O((mn)^2)| O(1)|\n[Walls and Gates](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fwalls-and-gates\u002F)| [Swift](.\u002FDFS\u002FWallsGates.swift)| Medium| O(n^n)| O(2^n)|\n[Word Search](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fword-search\u002F)| [Swift](.\u002FDFS\u002FWordSearch.swift)| Medium| O((mn * 4 ^ (k - 1))| O(mn)|\n[Word Search II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fword-search-ii\u002F)| [Swift](.\u002FDFS\u002FWordSearchII.swift)| Hard| O(((mn)^2))| O(n^2)|\n[Add and Search Word - Data structure design](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fadd-and-search-word-data-structure-design\u002F)| [Swift](.\u002FDFS\u002FWordDictionary.swift)| Medium| O(n)| O(n)|\n[Partition to K Equal Sum Subsets](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpartition-to-k-equal-sum-subsets\u002F)| [Swift](.\u002FDFS\u002FPartitionKEqualSumSubsets.swift)| Medium| O(k^n)| O(n)|\n[N-Queens](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fn-queens\u002F)| [Swift](.\u002FDFS\u002FNQueens.swift)| Hard| O((n^n))| O(n^2)|\n[N-Queens II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fn-queens-ii\u002F)| [Swift](.\u002FDFS\u002FNQueensII.swift)| Hard| O((n^n))| O(n)|\n[Word Squares](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fword-squares\u002F)| [Swift](.\u002FDFS\u002FWordSquares.swift)| Hard| O((n^2))| O(n^2)|\n[Word Pattern II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fword-pattern-ii\u002F)| [Swift](.\u002FDFS\u002FWordPatternII.swift)| Hard| O(n^n)| O(n)|\n[Sudoku Solver](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsudoku-solver\u002F)| [Swift](.\u002FDFS\u002FSudokuSolver.swift)| Hard| O(n^4)| O(1)|\n[Remove Invalid Parentheses](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fremove-invalid-parentheses\u002F)| [Swift](.\u002FDFS\u002FRemoveInvalidParentheses.swift)| Hard| O(n^n)| O(n)|\n[Expression Add Operators](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fexpression-add-operators\u002F)| [Swift](.\u002FDFS\u002FExpressionAddOperators.swift)| Hard| O(n^n)| O(n)|\n\n## Breadth-first search\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Word Ladder](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fword-ladder\u002F)| [Swift](.\u002FBFS\u002FWordLadder.swift)| Medium| O(nm)| O(nm)|\n[Evaluate Division](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fevaluate-division\u002F)| [Swift](.\u002FBFS\u002FEvaluateDivision.swift)| Medium| O(n^2)| O(n)|\n[Shortest Distance from All Buildings](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fshortest-distance-from-all-buildings\u002F)| [Swift](.\u002FBFS\u002FShortestDistanceAllBuildings.swift)| Hard| O((mn)^2)| O(mn)|\n\n## Math\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Add Binary](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fadd-binary\u002F)| [Swift](.\u002FMath\u002FAddBinary.swift)| Easy| O(n)| O(n)|\n[Add Two Numbers](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fadd-two-numbers\u002F)| [Swift](.\u002FMath\u002FAddTwoNumbers.swift)| Medium| O(n)| O(1)|\n[Add Digits](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fadd-digits\u002F)| [Swift](.\u002FMath\u002FAddDigits.swift)| Easy| O(1)| O(1)|\n[Plus One](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fplus-one\u002F)| [Swift](.\u002FMath\u002FPlusOne.swift)| Easy| O(n)| O(1)|\n[Missing Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmissing-number\u002F)| [Swift](.\u002FMath\u002FMissingNumber.swift)| Easy| O(n)| O(1)|\n[Divide Two Integers](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdivide-two-integers\u002F)| [Swift](.\u002FMath\u002FDivideTwoIntegers.swift)| Medium| O(logn)| O(1)|\n[Number Complement](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnumber-complement\u002F)| [Swift](.\u002FMath\u002FNumberComplement.swift)| Easy| O(n)| O(1)|\n[Hamming Distance](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fhamming-distance\u002F)| [Swift](.\u002FMath\u002FHammingDistance.swift)| Easy| O(n)| O(1)|\n[Integer Break](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Finteger-break\u002F)| [Swift](.\u002FMath\u002FIntegerBreak.swift)| Medium| O(logn)| O(1)|\n[Factorial Trailing Zeroes](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffactorial-trailing-zeroes\u002F)| [Swift](.\u002FMath\u002FFactorialTrailingZeroes.swift)| Medium | O(logn)| O(1)|\n[Happy Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fhappy-number\u002F)| [Swift](.\u002FMath\u002FHappyNumber.swift)| Easy| O(n)| O(n)|\n[Single Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsingle-number\u002F)| [Swift](.\u002FMath\u002FSingleNumber.swift)| Medium| O(n)| O(1)|\n[Ugly Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fugly-number\u002F)| [Swift](.\u002FMath\u002FUglyNumber.swift)| Easy| O(logn)| O(1)|\n[Ugly Number II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fugly-number-ii\u002F)| [Swift](.\u002FMath\u002FUglyNumberII.swift)| Medium| O(n)| O(n)|\n[Super Ugly Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsuper-ugly-number\u002F)| [Swift](.\u002FMath\u002FSuperUglyNumber.swift)| Medium| O(n^2)| O(n)|\n[Count Primes](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcount-primes\u002F)| [Swift](.\u002FMath\u002FCountPrimes.swift)| Easy| O(n)| O(n)|\n[String to Integer (atoi)](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fstring-to-integer-atoi\u002F)| [Swift](.\u002FMath\u002FAtoi.swift)| Easy| O(n)| O(1)|\n[Fraction to Recurring Decimal](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffraction-to-recurring-decimal\u002F)| [Swift](.\u002FMath\u002FFractionToRecurringDecimal.swift) | Medium| O(logn)| O(n)|\n[Pow(x, n)](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fisomorphic-strings\u002F)| [Swift](.\u002FMath\u002FPow.swift)| Medium| O(logn)| O(1)|\n[Power of Two](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpower-of-two\u002F)| [Swift](.\u002FMath\u002FPowerTwo.swift)| Easy| O(1)| O(1)|\n[Power of Three](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpower-of-three\u002F)| [Swift](.\u002FMath\u002FPowerThree.swift)| Easy| O(1)| O(1)|\n[Super Power](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsuper-pow\u002F)| [Swift](.\u002FMath\u002FSuperPow.swift)| Medium| O(n)| O(1)|\n[Sum of Two Integers](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsum-of-two-integers\u002F)| [Swift](.\u002FMath\u002FSumTwoIntegers.swift)| Easy| O(n)| O(1)|\n[Reverse Integer](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-integer\u002F)| [Swift](.\u002FMath\u002FReverseInteger.swift)| Easy| O(n)| O(1)|\n[Excel Sheet Column Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fexcel-sheet-column-number\u002F)| [Swift](.\u002FMath\u002FExcelSheetColumnNumber.swift)| Easy| O(n)| O(1)|\n[Integer to Roman](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Finteger-to-roman\u002F)| [Swift](.\u002FMath\u002FIntegerToRoman.swift)| Medium| O(n)| O(1)|\n[Roman to Integer](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Froman-to-integer\u002F)| [Swift](.\u002FMath\u002FRomanToInteger.swift)| Easy| O(n)| O(n)|\n[Integer to English Words](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Finteger-to-english-words\u002F)| [Swift](.\u002FMath\u002FIntegerEnglishWords.swift)| Hard| O(n)| O(1)|\n[Sparse Matrix Multiplication](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsparse-matrix-multiplication\u002F)| [Swift](.\u002FMath\u002FSparseMatrixMultiplication.swift)| Medium| O(n^3)| O(n^2)|\n[Rectangle Area](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Frectangle-area\u002F)| [Swift](.\u002FMath\u002FRectangleArea.swift)| Easy| O(1)| O(1)|\n[Minimum Moves to Equal Array Elements](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fminimum-moves-to-equal-array-elements\u002F)| [Swift](.\u002FMath\u002FMinimumMovesEqualArrayElements.swift)| Easy| O(n)| O(1)|\n[Pour Water](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpour-water\u002F)| [Swift](.\u002FMath\u002FTrappingRainWater.swift)| Hard| O(n)| O(n)|\n[Trapping Rain Water](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftrapping-rain-water\u002F)| [Swift](.\u002FMath\u002FTrappingRainWater.swift)| Medium| O(nk)| O(1)|\n[Container With Most Water](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcontainer-with-most-water\u002F)| [Swift](.\u002FMath\u002FContainerMostWater.swift)| Medium| O(n)| O(1)|\n[Counting Bits](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcounting-bits\u002F)| [Swift](.\u002FMath\u002FCountingBits.swift)| Medium| O(n)| O(n)|\n[K-th Smallest in Lexicographical Order](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fk-th-smallest-in-lexicographical-order\u002F)| [Swift](.\u002FMath\u002FKthSmallestLexicographicalOrder.swift)| Hard| O(n)| O(1)|\n[Gary Code](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fgray-code\u002F)| [Swift](.\u002FMath\u002FGaryCode.swift)| Medium| O(n)| O(2^n)|\n[Permutation Sequence](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpermutation-sequence\u002F)| [Swift](.\u002FMath\u002FPermutationSequence.swift)| Medium| O(n^2)| O(1)|\n[Line Reflection](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fline-reflection\u002F)| [Swift](.\u002FMath\u002FLineReflection.swift)| Medium| O(n)| O(n)|\n[Valid Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-number\u002F)| [Swift](.\u002FMath\u002FValidNumber.swift)| Hard| O(n)| O(1)|\n\n## Search\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Closest Binary Search Tree Value](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fclosest-binary-search-tree-value\u002F)| [Swift](.\u002FSearch\u002FClosestBinarySearchTreeValue.swift)| Easy| O(logn)| O(1)|\n[Closest Binary Search Tree Value II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fclosest-binary-search-tree-value-ii\u002F)| [Swift](.\u002FSearch\u002FClosestBinarySearchTreeValueII.swift)| Hard| O(n)| O(n)|\n[Search in Rotated Sorted Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsearch-in-rotated-sorted-array\u002F)| [Swift](.\u002FSearch\u002FSearchInRotatedSortedArray.swift)| Hard| O(logn)| O(1)|\n[Search in Rotated Sorted Array II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsearch-in-rotated-sorted-array-ii\u002F)| [Swift](.\u002FSearch\u002FSearchInRotatedSortedArrayII.swift)| Medium| O(logn)| O(1)|\n[Find Minimum in Rotated Sorted Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-minimum-in-rotated-sorted-array\u002F)| [Swift](.\u002FSearch\u002FFindMinimumRotatedSortedArray.swift)| Medium| O(logn)| O(1)|\n[Find Minimum in Rotated Sorted Array II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-minimum-in-rotated-sorted-array-ii\u002F)| [Swift](.\u002FSearch\u002FFindMinimumRotatedSortedArrayII.swift)| Hard| O(logn)| O(1)|\n[Search a 2D Matrix](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsearch-a-2d-matrix\u002F)| [Swift](.\u002FSearch\u002FSearch2DMatrix.swift)| Medium| O(log(m + n))| O(1)|\n[Search a 2D Matrix II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsearch-a-2d-matrix-ii\u002F)| [Swift](.\u002FSearch\u002FSearch2DMatrixII.swift)| Medium| O(m + n)| O(1)|\n[Search for a Range](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-first-and-last-position-of-element-in-sorted-array\u002F)| [Swift](.\u002FSearch\u002FSearchForARange.swift)| Medium| O(logn)| O(1)|\n[Search Insert Position](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsearch-insert-position\u002F)| [Swift](.\u002FSearch\u002FSearchInsertPosition.swift)| Medium| O(logn)| O(1)|\n[Peak Index in a Mountain Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpeak-index-in-a-mountain-array\u002F)| [Swift](.\u002FSearch\u002FPeakIndexMountainArray.swift)| Easy| O(logn)| O(1)|\n[Find Peak Element](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-peak-element\u002F)| [Swift](.\u002FSearch\u002FFindPeakElement.swift)| Medium| O(logn)| O(1)|\n[Random Pick with Weight](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Frandom-pick-with-weight\u002F)| [Swift](.\u002FSearch\u002FRandomPickWeight.swift)| Medium| O(logn)| O(1)|\n[Sqrt(x)](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsqrtx\u002F)| [Swift](.\u002FSearch\u002FSqrtx.swift)| Medium| O(logn)| O(1)|\n[Median of Two Sorted Arrays](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmedian-of-two-sorted-arrays\u002F)| [Swift](.\u002FSearch\u002FMedianTwoSortedArrays.swift)| Hard| O(log(m + n))| O(1)|\n[Minimize Max Distance to Gas Station](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fminimize-max-distance-to-gas-station\u002F)| [Swift](.\u002FSearch\u002FMinimizeMaxDistanceGasStation.swift)| Hard| O(nlogm)| O(1)|\n\n## Sort\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Merge Sorted Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmerge-sorted-array\u002F)| [Swift](.\u002FSort\u002FMergeSortedArray.swift)| Easy| O(n)| O(1)|\n[Sort Colors](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsort-colors\u002F)| [Swift](.\u002FSort\u002FSortColors.swift)| Medium| O(n)| O(1)|\n[Wiggle Sort](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fwiggle-sort\u002F)| [Swift](.\u002FSort\u002FWiggleSort.swift)| Medium| O(n)| O(1)|\n[Wiggle Sort II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fwiggle-sort-ii\u002F)| [Swift](.\u002FSort\u002FWiggleSortII.swift)| Medium| O(nlogn)| O(n)|\n[Sort Transformed Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsort-transformed-array\u002F)| [Swift](.\u002FSort\u002FSortTransformedArray.swift)| Medium| O(n)| O(1)|\n[Top K Frequent Elements](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftop-k-frequent-elements\u002F)| [Swift](.\u002FSort\u002FTopKFrequentElements.swift)| Medium| O(nlogn)| O(n)|\n[Meeting Rooms](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmeeting-rooms\u002F)| [Swift](.\u002FSort\u002FMeetingRooms.swift)| Easy| O(nlogn)| O(1)|\n[Meeting Rooms II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmeeting-rooms-ii\u002F)| [Swift](.\u002FSort\u002FMeetingRoomsII.swift)| Medium| O(nlogn)| O(n)|\n[Merge Intervals](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmerge-intervals\u002F)| [Swift](.\u002FSort\u002FMergeIntervals.swift)| Hard| O(nlogn)| O(n)|\n[Alien Dictionary](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Falien-dictionary\u002F)| [Swift](.\u002FGraph\u002FAlienDictionary.swift)| Hard| O(nm)| O(nm)|\n[Kth Largest Element in an Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fkth-largest-element-in-an-array\u002F)| [Swift](.\u002FSort\u002FKthLargestElementInArray.swift)| Medium| O(nlogn)| O(n)|\n[Array Partition I](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Farray-partition-i\u002Fdescription\u002F)| [Swift](.\u002FSort\u002FArrayPartitionI.swift)|Easy| O(nlogn)| O(n)|\n[Insert Interval](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Finsert-interval\u002Fdescription\u002F)| [Swift](.\u002FSort\u002FInsertInterval.swift)|Hard| O(n)| O(1)|\n[Largest Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flargest-number\u002F)| [Swift](.\u002FSort\u002FLargestNumber.swift)| Medium| O(nlogn)| O(1)|\n\n## Graph\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Number of Connected Components in an Undirected Graph](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnumber-of-connected-components-in-an-undirected-graph\u002F)| [Swift](.\u002FGraph\u002FNumberConnectedComponentsUndirectedGraph.swift)| Medium| O(nlogn)| O(n)|\n[Graph Valid Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fgraph-valid-tree\u002F)| [Swift](.\u002FGraph\u002FGraphValidTree.swift)| Medium| O(nlogn)| O(n)|\n[Number of Islands II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnumber-of-islands-ii\u002F)| [Swift](.\u002FGraph\u002FNumberIslandsII.swift)| Hard| O(klogmn)| O(mn)|\n[Course Schedule](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcourse-schedule\u002F)| [Swift](.\u002FGraph\u002FCourseSchedule.swift)| Medium| O(n)| O(n)|\n[Course Schedule II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcourse-schedule-ii\u002F)| [Swift](.\u002FGraph\u002FCourseScheduleII.swift)| Medium| O(n)| O(n)|\n\n## Design\n| Title | Solution | Difficulty | Time | Space |\n| ----- | -------- | ---------- | ---- | ----- |\n[Shuffle an Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fshuffle-an-array\u002F)| [Swift](.\u002FDesign\u002FShuffleAnArray.swift)| Easy| O(n)| O(1)|\n[Design HashMap](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdesign-hashmap\u002F)| [Swift](.\u002FDesign\u002FDesignHashMap.swift)| Easy| O(n)| O(n)|\n[Design Tic-Tac-Toe](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdesign-tic-tac-toe\u002F)| [Swift](.\u002FDesign\u002FDesignTicTacToe.swift)| Medium| O(1)| O(n)|\n[Flatten Nested List Iterator](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fflatten-nested-list-iterator)| [Swift](.\u002FDesign\u002FFlattenNestedListIterator.swift)| Medium| O(n)| O(n)|\n[Flatten 2D Vector](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fflatten-2d-vector\u002F)| [Swift](.\u002FDesign\u002FVector2D.swift)| Medium | O(n)| O(n)|\n[Implement Trie (Prefix Tree)](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fimplement-trie-prefix-tree\u002F)| [Swift](.\u002FDesign\u002FImplementTrie.swift)| Medium | O(n)| O(n)|\n[Add and Search Word - Data structure design](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fadd-and-search-word-data-structure-design\u002F)| [Swift](.\u002FDesign\u002FAddSearchWord.swift)| Medium | O(24^n)| O(n)|\n[Insert Delete GetRandom O(1)](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Finsert-delete-getrandom-o1\u002F)| [Swift](.\u002FDesign\u002FInsertDeleteGetRandom.swift)| Medium| O(1)| O(n)|\n[LRU Cache](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flru-cache\u002F)| [Swift](.\u002FDesign\u002FLRUCache.swift)| Hard| O(1)| O(n)|\n[All O`one Data Structure](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fall-oone-data-structure\u002F)| [Swift](.\u002FDesign\u002FAllOne.swift)| Hard| O(1)| O(n)|\n\n\n## Google\n| Title | Solution | Difficulty | Frequency |\n| ----- | -------- | ---------- | --------- |\n[Race Car](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Frace-car\u002F)| [Swift](.\u002FBFS\u002FRaceCar.swift)| Hard| ★★★★★★|\n[Plus One](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fplus-one\u002F)| [Swift](.\u002FMath\u002FPlusOne.swift)| Easy| ★★★★★★|\n[Number of Islands](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnumber-of-islands\u002F)| [Swift](.\u002FDFS\u002FNumberofIslands.swift)| Medium| ★★★★|\n[Summary Ranges](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsummary-ranges\u002F)| [Swift](.\u002FArray\u002FSummaryRanges.swift)| Medium| ★★★★|\n[Perfect Squares](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fperfect-squares\u002F)| [Swift](.\u002FDP\u002FPerfectSquares.swift)| Medium| ★★★★|\n[Merge Intervals](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmerge-intervals\u002F)| [Swift](.\u002FSort\u002FMergeIntervals.swift)| Hard| ★★★|\n[Valid Parentheses](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-parentheses\u002F)| [Swift](.\u002FStack\u002FValidParentheses.swift)| Easy| ★★★|\n[Trapping Rain Water](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftrapping-rain-water\u002F)| [Swift](.\u002FMath\u002FTrappingRainWater.swift)| Hard| ★★|\n[Merge k Sorted Lists](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmerge-k-sorted-lists\u002F)| [Swift](.\u002FLinkedList\u002FMergeKSortedLists.swift)| Hard| ★★|\n[Longest Consecutive Sequence](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-consecutive-sequence\u002F)| [Swift](.\u002FArray\u002FLongestConsecutiveSequence.swift)| Hard| ★★|\n[Find Peak Element](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-peak-element\u002F)| [Swift](.\u002FSearch\u002FFindPeakElement.swift)| Medium| ★★|\n[Power of Two](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpower-of-two\u002F)| [Swift](.\u002FMath\u002FPowerTwo.swift)| Easy| ★★|\n[Spiral Matrix](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fspiral-matrix\u002F)| [Swift](.\u002FArray\u002FSpiralMatrix.swift)| Medium| ★★|\n[Sliding Window Maximum ](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsliding-window-maximum\u002F)| [Swift](.\u002FArray\u002FSlidingWindowMaximum.swift)| Hard| ★★|\n[Pow(x, n)](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fisomorphic-strings\u002F)| [Swift](.\u002FMath\u002FPow.swift)| Medium| ★★|\n[Letter Combinations of a Phone Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fletter-combinations-of-a-phone-number\u002F)| [Swift](.\u002FDFS\u002FLetterCombinationsPhoneNumber.swift)| Medium| ★★|\n[Heaters](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fheaters\u002F)| [Swift](.\u002FArray\u002FHeaters.swift)| Easy| ★|\n\n## Facebook\n| Title | Solution | Difficulty | Frequency |\n| ----- | -------- | ---------- | --------- |\n[3Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002F3sum\u002F)| [Swift](.\u002FArray\u002FThreeSum.swift)| Medium| ★★★★★★|\n[Valid Palindrome](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-palindrome\u002F)| [Swift](.\u002FString\u002FValidPalindrome.swift)| Easy| ★★★★★★|\n[Valid Palindrome II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-palindrome-ii\u002F)| [Swift](.\u002FString\u002FValidPalindromeII.swift)| Easy| ★★★★★★|\n[Move Zeroes](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmove-zeroes\u002F)| [Swift](.\u002FArray\u002FMoveZeroes.swift)| Easy| ★★★★★★|\n[Remove Invalid Parentheses](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fremove-invalid-parentheses\u002F)| [Swift](.\u002FDFS\u002FRemoveInvalidParentheses.swift)| Hard| ★★★★★★|\n[Add Binary](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fadd-binary\u002F)| [Swift](.\u002FMath\u002FAddBinary.swift)| Easy| ★★★★★|\n[Two Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftwo-sum\u002F)| [Swift](.\u002FArray\u002FTwoSum.swift)| Easy| ★★★★★|\n[Binary Tree Paths](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-paths\u002F)| [Swift](.\u002FTree\u002FBinaryTreePaths.swift)| Easy| ★★★★|\n[Letter Combinations of a Phone Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fletter-combinations-of-a-phone-number\u002F)| [Swift](.\u002FDFS\u002FLetterCombinationsPhoneNumber.swift)| Medium| ★★★★|\n[Merge k Sorted Lists](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmerge-k-sorted-lists\u002F)| [Swift](.\u002FLinkedList\u002FMergeKSortedLists.swift)| Hard| ★★★★|\n[Reverse Linked List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-linked-list\u002F)| [Swift](.\u002FLinkedList\u002FReverseLinkedList.swift)| Easy| ★★★|\n[Merge Intervals](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmerge-intervals\u002F)| [Swift](.\u002FSort\u002FMergeIntervals.swift)| Hard| ★★★|\n[Number of Islands](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnumber-of-islands\u002F)| [Swift](.\u002FDFS\u002FNumberofIslands.swift)| Medium| ★★★|\n[Reverse Linked List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-linked-list\u002F)| [Swift](.\u002FLinkedList\u002FReverseLinkedList.swift)| Easy| ★★★|\n[Expression Add Operators](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fexpression-add-operators\u002F)| [Swift](.\u002FDFS\u002FExpressionAddOperators.swift)| Hard| ★★★|\n[Subsets](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsubsets\u002F)| [Swift](.\u002FDFS\u002FSubsets.swift)| Medium| ★★★|\n[Sort Colors](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsort-colors\u002F)| [Swift](.\u002FSort\u002FSortColors.swift)| Medium| ★★|\n\n## Snapchat\n| Title | Solution | Difficulty | Frequency |\n| ----- | -------- | ---------- | --------- |\n[Game of Life](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fgame-of-life\u002F)\t|\t[Swift](.\u002FArray\u002FGameLife.swift)| Medium| ★★★★★★|\n[Meeting Rooms II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmeeting-rooms-ii\u002F)| [Swift](.\u002FSort\u002FMeetingRoomsII.swift)| Medium| ★★★★★★|\n[Valid Sudoku](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-sudoku\u002F)| [Swift](.\u002FArray\u002FValidSudoku.swift)| Easy| ★★★★★|\n[Binary Tree Vertical Order Traversal](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-vertical-order-traversal\u002F)| [Swift](.\u002FTree\u002FBinaryTreeVerticalOrderTraversal.swift)| Medium| ★★★★|\n[Alien Dictionary](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Falien-dictionary\u002F)| [Swift](.\u002FGraph\u002FAlienDictionary.swift)| Hard| ★★★★|\n[One Edit Distance](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fone-edit-distance\u002F)| [Swift](.\u002FString\u002FOneEditDistance.swift)| Medium| ★★★|\n[Sudoku Solver](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsudoku-solver\u002F)| [Swift](.\u002FMath\u002FSudokuSolver.swift)| Hard| ★★★|\n[Reverse Linked List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-linked-list\u002F)| [Swift](.\u002FLinkedList\u002FReverseLinkedList.swift)| Easy| ★★|\n[Unique Binary Search Trees](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Funique-binary-search-trees\u002F)| [Swift](.\u002FTree\u002FUniqueBinarySearchTrees.swift)| Medium| ★★|\n[Minimum Window Substring](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fminimum-window-substring\u002F)| [Swift](.\u002FString\u002FMinimumWindowSubstring.swift)| Hard| ★★|\n[Remove K Digits](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fremove-k-digits\u002F)| [Swift](.\u002FStack\u002FRemoveKDigits.swift)| Medium| ★|\n[Ternary Expression Parser](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fternary-expression-parser\u002F)| [Swift](.\u002FStack\u002FTernaryExpressionParser.swift)| Medium| ★|\n\n## Uber\n| Title | Solution | Difficulty | Frequency |\n| ----- | -------- | ---------- | --------- |\n[Valid Sudoku](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-sudoku\u002F)| [Swift](.\u002FArray\u002FValidSudoku.swift)| Easy| ★★★★|\n[Spiral Matrix](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fspiral-matrix\u002F)| [Swift](.\u002FArray\u002FSpiralMatrix.swift)| Medium| ★★★★|\n[Letter Combinations of a Phone Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fletter-combinations-of-a-phone-number\u002F)| [Swift](.\u002FDFS\u002FLetterCombinationsPhoneNumber.swift)| Medium| ★★★★|\n[Group Anagrams](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fanagrams\u002F)| [Swift](.\u002FString\u002FGroupAnagrams.swift)| Medium| ★★★★|\n[Word Pattern](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fword-pattern\u002F)| [Swift](.\u002FString\u002FWordPattern.swift)| Easy| ★★★|\n[Roman to Integer](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Froman-to-integer\u002F)| [Swift](.\u002FMath\u002FRomanToInteger.swift)| Easy| ★★★|\n[Combination Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcombination-sum\u002F)| [Swift](.\u002FDFS\u002FCombinationSum.swift)| Medium| ★★|\n\n## Airbnb\n| Title | Solution | Difficulty | Frequency |\n| ----- | -------- | ---------- | --------- |\n[Two Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftwo-sum\u002F)| [Swift](.\u002FArray\u002FTwoSum.swift)| Easy| ★★★★★|\n[Text Justification](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftext-justification\u002F)| [Swift](.\u002FString\u002FTextJustification.swift)| Hard| ★★★★|\n[House Robber](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fhouse-robber\u002F)| [Swift](.\u002FDP\u002FHouseRobber.swift)| Easy| ★★|\n[Single Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsingle-number\u002F)| [Swift](.\u002FMath\u002FSingleNumber.swift)| Medium| ★★|\n[Word Search II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fword-search-ii\u002F)| [Swift](.\u002FDFS\u002FWordSearchII.swift)| Hard| ★★|\n[Add Two Numbers](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fadd-two-numbers\u002F)| [Swift](.\u002FMath\u002FAddTwoNumbers.swift)| Medium| ★★|\n\n## LinkedIn\n| Title | Solution | Difficulty | Frequency |\n| ----- | -------- | ---------- | --------- |\n[Maximum Subarray](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmaximum-subarray\u002F)| [Swift](.\u002FDP\u002FMaximumSubarray.swift)| Medium| ★★★★★★|\n[Pow(x, n)](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fisomorphic-strings\u002F)| [Swift](.\u002FMath\u002FPow.swift)| Medium| ★★★★★★|\n[Merge Intervals](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmerge-intervals\u002F)| [Swift](.\u002FSort\u002FMergeIntervals.swift)| Hard| ★★★★★★|\n[Isomorphic Strings](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fisomorphic-strings\u002F)| [Swift](.\u002FString\u002FIsomorphicStrings.swift)| Easy| ★★★★★★|\n[Search in Rotated Sorted Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsearch-in-rotated-sorted-array\u002F)| [Swift](.\u002FSearch\u002FSearchInRotatedSortedArray.swift)| Hard| ★★★★★|\n[Search for a Range](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-first-and-last-position-of-element-in-sorted-array\u002F)| [Swift](.\u002FSearch\u002FSearchForARange.swift)| Medium| ★★★★★|\n[Two Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftwo-sum\u002F)| [Swift](.\u002FArray\u002FTwoSum.swift)| Easy| ★★★★|\n[Binary Tree Level Order Traversal](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbinary-tree-level-order-traversal\u002F)| [Swift](.\u002FTree\u002FBinaryTreeLevelOrderTraversal.swift)| Easy| ★★★★|\n[Evaluate Reverse Polish Notation](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fevaluate-reverse-polish-notation\u002F)| [Swift](.\u002FStack\u002FEvaluateReversePolishNotation.swift)| Medium| ★★★|\n[Maximum Product Subarray](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmaximum-product-subarray\u002F)| [Swift](.\u002FDP\u002FMaximumProductSubarray.swift)| Medium| ★★★|\n[Product of Array Except Self](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fproduct-of-array-except-self\u002F)| [Swift](.\u002FArray\u002FProductExceptSelf.swift)| Medium| ★★★|\n[Symmetric Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsymmetric-tree\u002F)| [Swift](.\u002FTree\u002FSymmetricTree.swift)| Easy| ★★|\n\n## Amazon\n| Title | Solution | Difficulty | Frequency |\n| ----- | -------- | ---------- | --------- |\n[Two Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftwo-sum\u002F)| [Swift](.\u002FArray\u002FTwoSum.swift)| Easy| ★★★★★★|\n[Min Cost Climbing Stairs](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmin-cost-climbing-stairs\u002F)| [Swift](.\u002FDP\u002FMinCostClimbingStairs.swift)| Easy| ★★★★|\n[Number of Islands](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnumber-of-islands\u002F)| [Swift](.\u002FDFS\u002FNumberofIslands.swift)| Medium| ★★|\n[Add Two Numbers](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fadd-two-numbers\u002F)| [Swift](.\u002FMath\u002FAddTwoNumbers.swift)| Medium| ★★|\n[Reverse Linked List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-linked-list\u002F)| [Swift](.\u002FLinkedList\u002FReverseLinkedList.swift)| Easy| ★★|\n[Valid Parentheses](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-parentheses\u002F)| [Swift](.\u002FStack\u002FValidParentheses.swift)| Easy| ★★|\n[Longest Palindromic Substring](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-palindromic-substring\u002F)| [Swift](.\u002FDP\u002FLongestPalindromicSubstring.swift)| Medium| ★★|\n[Trapping Rain Water](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftrapping-rain-water\u002F)| [Swift](.\u002FMath\u002FTrappingRainWater.swift)| Hard| ★★|\n[Longest Substring Without Repeating Characters](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-substring-without-repeating-characters\u002F)| [Swift](.\u002FString\u002FLongestSubstringWithoutRepeatingCharacters.swift)| Medium| ★★|\n[Letter Combinations of a Phone Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fletter-combinations-of-a-phone-number\u002F)| [Swift](.\u002FDFS\u002FLetterCombinationsPhoneNumber.swift)| Medium| ★★|\n[Valid Anagram](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-anagram\u002F)| [Swift](.\u002FString\u002FValidAnagram.swift)| Easy| ★★|\n[Rotate Image](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Frotate-image\u002F)| [Swift](.\u002FArray\u002FRotateImage.swift)| Medium| ★★|\n[Best Time to Buy and Sell Stock](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbest-time-to-buy-and-sell-stock\u002F)| [Swift](.\u002FDP\u002FBestTimeBuySellStock.swift)| Easy| ★★|\n[3Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002F3sum\u002F)| [Swift](.\u002FArray\u002FThreeSum.swift)| Medium| ★★|\n[Sliding Window Maximum ](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsliding-window-maximum\u002F)| [Swift](.\u002FArray\u002FSlidingWindowMaximum.swift)| Hard| ★★|\n\n## Microsoft\n| Title | Solution | Difficulty | Frequency |\n| ----- | -------- | ---------- | --------- |\n[Reverse Linked List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-linked-list\u002F)| [Swift](.\u002FLinkedList\u002FReverseLinkedList.swift)| Easy| ★★★★★★|\n[Two Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftwo-sum\u002F)| [Swift](.\u002FArray\u002FTwoSum.swift)| Easy| ★★★★★|\n[String to Integer (atoi)](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fstring-to-integer-atoi\u002F)| [Swift](.\u002FMath\u002FAtoi.swift)| Easy| ★★★★|\n[Add Two Numbers](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fadd-two-numbers\u002F)| [Swift](.\u002FMath\u002FAddTwoNumbers.swift)| Medium| ★★★★|\n[Excel Sheet Column Number](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fexcel-sheet-column-number\u002F)| [Swift](.\u002FMath\u002FExcelSheetColumnNumber.swift)| Easy| ★★★★|\n[Validate Binary Search Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalidate-binary-search-tree\u002F)| [Swift](.\u002FTree\u002FValidateBinarySearchTree.swift)| Medium| ★★★|\n[Merge Two Sorted Lists](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmerge-two-sorted-lists\u002F)| [Swift](.\u002FLinkedList\u002FMergeTwoSortedLists.swift)| Easy| ★★★|\n\n\n\n## Problem Status\n| Solution | Number | Title | Difficulty |\n| -------- | ------ | ----- | ---------- |\n| [Swift](.\u002FLinkedList\u002FLFUCache.swift)\t|\t460\t|\t[LFU Cache](https:\u002F\u002Foj.leetcode.com\u002Fproblems\u002Flfu-cache\u002F)\t| Hard\t|\n| [Swift](.\u002FArray\u002FFindDisappearedNumbers.swift)| 448| [Find All Numbers Disappeared in an Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-all-numbers-disappeared-in-an-array\u002F)| Easy|\n| [Swift](.\u002FDFS\u002FCombinationSumIV.swift)\t|\t377\t|\t[Combination Sum IV](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcombination-sum-iv\u002F)\t|\tMedium\n|\t\t|\t376\t|\t[Wiggle Subsequence](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fwiggle-subsequence\u002F)\t|\tMedium\n|\t[Swift](.\u002FDP\u002FGuessNumberHigherOrLowerII.swift)\t|\t375\t|\t[Guess Number Higher or Lower II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fguess-number-higher-or-lower-ii\u002F)\t|\tMedium\n|\t\t|\t374\t|\t[Guess Number Higher or Lower](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fguess-number-higher-or-lower\u002F)\t| Easy\n|\t\t|\t373\t|\t[Find K Pairs with Smallest Sums](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-k-pairs-with-smallest-sums\u002F)\t|\tMedium\n|\t[Swift](.\u002FMath\u002FSuperPow.swift)\t|\t372\t|\t[Super Pow](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsuper-pow\u002F)\t|\tMedium\n|\t[Swift](.\u002FMath\u002FSumTwoIntegers.swift)\t|\t371\t|\t[Sum of Two Integers](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsum-of-two-integers\u002F)\t| Easy\n|\t\t|\t370\t|\t[Range Addition](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Frange-addition\u002F) &hearts;\t|\tMedium\n|\t\t|\t369\t|\t[Plus One Linked List](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fplus-one-linked-list\u002F) &hearts;\t|\tMedium\n|\t\t|\t368\t|\t[Largest Divisible Subset](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flargest-divisible-subset\u002F)\t|\tMedium\n|\t\t|\t367\t|\t[Valid Perfect Square](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fvalid-perfect-square\u002F)\t|\tMedium\n|\t\t|\t366\t|\t[Find Leaves of Binary Tree](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ffind-leaves-of-binary-tree\u002F) &hearts;\t|\tMedium\n|\t\t|\t365\t|\t[Water and Jug Problem](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fwater-and-jug-problem\u002F)\t|\tMedium\n| [Swift](.\u002FDP\u002FNestedListWeightSumII.swift)\t\t|\t364\t|\t[Nested List Weight Sum II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnested-list-weight-sum-ii\u002F) &hearts;\t|\tMedium\n|\t\t|\t363\t|\t[Max Sum of Rectangle No Larger Than K](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmax-sum-of-sub-matrix-no-larger-than-k\u002F)\t|\tHard\n|\t\t|\t362\t|\t[Design Hit Counter](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdesign-hit-counter\u002F) &hearts;\t|\tMedium\n|\t\t|\t361\t|\t[Bomb Enemy](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fbomb-enemy\u002F) &hearts;\t|\tMedium\n| [Swift](.\u002FSort\u002FSortTransformedArray.swift)\t|\t360\t|\t[Sort Transformed Array](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fsort-transformed-array\u002F) &hearts;\t|\tMedium\n|\t\t|\t359\t|\t[Logger Rate Limiter](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flogger-rate-limiter\u002F) &hearts;\t| Easy\n|\t\t|\t358\t|\t[Rearrange String k Distance Apart](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Frearrange-string-k-distance-apart\u002F) &hearts;\t|\tHard\n|\t\t|\t357\t|\t[Count Numbers with Unique Digits](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fcount-numbers-with-unique-digits\u002F)\t|\tMedium\n|\t\t|\t356\t|\t[Line Reflection](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fline-reflection\u002F) &hearts;\t|\tMedium\n|\t\t|\t355\t|\t[Design Twitter](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdesign-twitter\u002F)\t|\tMedium\n|\t\t|\t354\t|\t[Russian Doll Envelopes](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Frussian-doll-envelopes\u002F)\t|\tHard\n|\t\t|\t353\t|\t[Design Snake Game](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdesign-snake-game\u002F) &hearts;\t|\tMedium\n|\t\t|\t352\t|\t[Data Stream as Disjoint Intervals](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdata-stream-as-disjoint-intervals\u002F)\t|\tHard\n|\t\t|\t351\t|\t[Android Unlock Patterns](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fandroid-unlock-patterns\u002F) &hearts;\t|\tMedium\n|\t[Swift](.\u002FArray\u002FIntersectionTwoArraysII.swift)\t|\t350\t|\t[Intersection of Two Arrays II](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fintersection-of-two-arrays-ii\u002F)\t| Easy\n|\t[Swift](.\u002FArray\u002FIntersectionTwoArrays.swift)\t|\t349\t|\t[Intersection of Two Arrays](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fintersection-of-two-arrays\u002F)\t| Easy\n|\t\t|\t348\t|\t[Design Tic-Tac-Toe](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fdesign-tic-tac-toe\u002F) &hearts;\t|\tMedium\n|\t[Swift](.\u002FSort\u002FTopKFrequentElements.swift)\t|\t347\t|\t[Top K Frequent Elements](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Ftop-k-frequent-elements\u002F)\t|\tMedium\n|\t\t|\t346\t|\t[Moving Average from Data Stream](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fmoving-average-from-data-stream\u002F) &hearts;\t| Easy\n|\t[Swift](.\u002FString\u002FReverseVowelsOfAString.swift)\t|\t345\t|\t[Reverse Vowels of a String](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-vowels-of-a-string\u002F)\t| Easy\n|\t[Swift](.\u002FString\u002FReverseString.swift)\t|\t344\t|\t[Reverse String](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Freverse-string\u002F)\t| Easy\n|\t[Swift](.\u002FMath\u002FIntegerBreak.swift)\t|\t343\t|\t[Integer Break](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Finteger-break\u002F)\t|\tMedium\n|\t\t|\t342\t|\t[Power of Four](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fpower-of-four\u002F)\t| Easy\n|\t[Swift](.\u002FDesign\u002FFlattenNestedListIterator.swift)\t|\t341\t|\t[Flatten Nested List Iterator](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fflatten-nested-list-iterator\u002F)\t|\tMedium\n|\t[Swift](.\u002FString\u002FLongestSubstringMostKDistinctCharacters.swift)\t|\t340\t|\t[Longest Substring with At Most K Distinct Characters](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Flongest-substring-with-at-most-k-distinct-characters\u002F)  &hearts;\t|\tHard\n|\t[Swift](.\u002FDP\u002FNestedListWeightSum.swift)\t|\t339\t|\t[Nested List Weight Sum](https:\u002F\u002Fleetcode.com\u002Fproblems\u002Fnested-list-weigh","该项目提供了使用 Swift 语言编写的 LeetCode 算法题解。它涵盖了超过 1000 道算法题目，包括数组、字符串、链表、栈、队列、树、动态规划等多种数据结构和算法类型，并严格遵循 RayWenderlich Swift 编码规范。项目适合准备技术面试的开发者，尤其是对 Swift 语言有需求的求职者，以及希望提升编程技能和算法理解能力的技术爱好者。",2,"2026-06-11 03:09:10","top_language"]