# Introduction

记录数据结构与算法/LeetCode练习过程，将持续更新

* [Array](/leetcode/array.md)
  * Best Time To Buy And Sell Stock
    * [121.Best-Time-to-Buy-and-Sell-Stock](/leetcode/array/best-time-to-buy-and-sell-stock/121.best-time-to-buy-and-sell-stock.md)
    * [122.Best-Time-to-Buy-and-Sell-Stock-II](/leetcode/array/best-time-to-buy-and-sell-stock/122.best-time-to-buy-and-sell-stock-ii.md)
    * [123.Best-Time-to-Buy-and-Sell-Stock-III](/leetcode/array/best-time-to-buy-and-sell-stock/123.best-time-to-buy-and-sell-stock-iii.md)
    * [188.Best-Time-to-Buy-and-Sell-Stock-IV](/leetcode/array/best-time-to-buy-and-sell-stock/188.best-time-to-buy-and-sell-stock-iv.md)
  * [1.Two-Sum](/leetcode/array/1.two-sum.md)
  * [1007.Minimum-Domino-Rotations-For-Equal-Row](/leetcode/array/1007.minimum-domino-rotations-for-equal-row.md)
  * [1031.Maximum-Sum-of-Two-Non-Overlapping-Subarrays](/leetcode/array/1031.maximum-sum-of-two-non-overlapping-subarrays.md)
  * [1052.Grumpy-Bookstore-Owner](/leetcode/array/1052.grumpy-bookstore-owner.md)
  * [11.Container-With-Most-Water](/leetcode/array/11.container-with-most-water.md)
  * [1122.Relative-Sort-Array](/leetcode/array/1122.relative-sort-array.md)
  * [1163.Last-Substring-in-Lexicographical-Order](/leetcode/array/1163.last-substring-in-lexicographical-order.md)
  * \[118.Pascal's-Triangle]\(Array/118.Pascal's-Triangle.md)
  * [1181.Before-and-After-Puzzle](/leetcode/array/1181.before-and-after-puzzle.md)
  * [1231.Divide-Chocolate](/leetcode/array/1231.divide-chocolate.md)
  * [1296.Divide-Array-in-Sets-of-K-Consecutive-Numbers](/leetcode/array/1296.divide-array-in-sets-of-k-consecutive-numbers.md)
  * [1304.Find-N-Unique-Integers-Sum-up-to-Zero](/leetcode/array/1304.find-n-unique-integers-sum-up-to-zero.md)
  * [134.Gas-Station](/leetcode/array/134.gas-station.md)
  * [135.Candy](/leetcode/array/135.candy.md)
  * [1352.Product-of-the-Last-K-Numbers](/leetcode/array/1352.product-of-the-last-k-numbers.md)
  * [136.Single-Number](/leetcode/array/136.single-number.md)
  * [14.Longest-Common-Prefix](/leetcode/array/14.longest-common-prefix.md)
  * [1477.Find-Two-Non-overlapping-Sub-arrays-Each-With-Target-Sum](/leetcode/array/1477.find-two-non-overlapping-sub-arrays-each-with-target-sum.md)
  * [15.3Sum](/leetcode/array/15.3sum.md)
  * [152.Maximum-Product-Subarray](/leetcode/array/152.maximum-product-subarray.md)
  * [16.3Sum-Closest](/leetcode/array/16.3sum-closest.md)
  * [163.Missing-Ranges](/leetcode/array/163.missing-ranges.md)
  * [169.Majority-Element](/leetcode/array/169.majority-element.md)
  * [18.4Sum](/leetcode/array/18.4sum.md)
  * [189.Rotate-Array](/leetcode/array/189.rotate-array.md)
  * [204.Count-Primes](/leetcode/array/204.count-primes.md)
  * [215.Kth-Largest-Element-in-an-Array](/leetcode/array/215.kth-largest-element-in-an-array.md)
  * [217.Contains-Duplicate](/leetcode/array/217.contains-duplicate.md)
  * [219.Contains-Duplicate-II](/leetcode/array/219.contains-duplicate-ii.md)
  * [220.Contains-Duplicate-III](/leetcode/array/220.contains-duplicate-iii.md)
  * [228.Summary-Ranges](/leetcode/array/228.summary-ranges.md)
  * [229.Majority-Element-II](/leetcode/array/229.majority-element-ii.md)
  * [238.Product-of-Array-Except-Self](/leetcode/array/238.product-of-array-except-self.md)
  * [239.Sliding-Window-Maximum](/leetcode/array/239.sliding-window-maximum.md)
  * [243.Shortest-Word-Distance](/leetcode/array/243.shortest-word-distance.md)
  * [252.Meeting-Rooms](/leetcode/array/252.meeting-rooms.md)
  * [266.Palindrome-Permutation](/leetcode/array/266.palindrome-permutation.md)
  * [268.Missing-Number](/leetcode/array/268.missing-number.md)
  * [273.Integer-to-English-Words](/leetcode/array/273.integer-to-english-words.md)
  * [279.Perfect-Squares](/leetcode/array/279.perfect-squares.md)
  * [283.Move-Zeroes](/leetcode/array/283.move-zeroes.md)
  * [287.Find-the-Duplicate-Number](/leetcode/array/287.find-the-duplicate-number.md)
  * [29.Divide-Two-Integers](/leetcode/array/29.divide-two-integers.md)
  * [299.Bulls-and-Cows](/leetcode/array/299.bulls-and-cows.md)
  * [31.Next-Permutation](/leetcode/array/31.next-permutation.md)
  * [325.Maximum-Size-Subarray-Sum-Equals-k](/leetcode/array/325.maximum-size-subarray-sum-equals-k.md)
  * [334.Increasing-Triplet-Subsequence](/leetcode/array/334.increasing-triplet-subsequence.md)
  * [340.Longest-Substring-with-At-Most-K-Distinct-Characters](/leetcode/array/340.longest-substring-with-at-most-k-distinct-characters.md)
  * [347.Top-K-Frequent-Elements](/leetcode/array/347.top-k-frequent-elements.md)
  * [349.Intersection-of-Two-Arrays](/leetcode/array/349.intersection-of-two-arrays.md)
  * [350.Intersection-of-Two-Arrays-II](/leetcode/array/350.intersection-of-two-arrays-ii.md)
  * [354.Russian-Doll-Envelopes](/leetcode/array/354.russian-doll-envelopes.md)
  * [367.Valid-Perfect-Square](/leetcode/array/367.valid-perfect-square.md)
  * [378.Kth-Smallest-Element-in-a-Sorted-Matrix](/leetcode/array/378.kth-smallest-element-in-a-sorted-matrix.md)
  * [38.Count-and-Say](/leetcode/array/38.count-and-say.md)
  * [383.Ransom-Note](/leetcode/array/383.ransom-note.md)
  * [387.First-Unique-Character-in-a-String](/leetcode/array/387.first-unique-character-in-a-string.md)
  * [4.Median-of-Two-Sorted-Arrays](/leetcode/array/4.median-of-two-sorted-arrays.md)
  * [406.Queue-Reconstruction-by-Height](/leetcode/array/406.queue-reconstruction-by-height.md)
  * [410.Split-Array-Largest-Sum](/leetcode/array/410.split-array-largest-sum.md)
  * [412.Fizz-Buzz](/leetcode/array/412.fizz-buzz.md)
  * [419.Battleships-in-a-Board](/leetcode/array/419.battleships-in-a-board.md)
  * [435.Non-overlapping-Intervals](/leetcode/array/435.non-overlapping-intervals.md)
  * [438.Find-All-Anagrams-in-a-String](/leetcode/array/438.find-all-anagrams-in-a-string.md)
  * [442.Find-All-Duplicates-in-an-Array](/leetcode/array/442.find-all-duplicates-in-an-array.md)
  * [457.Circular-Array-Loop](/leetcode/array/457.circular-array-loop.md)
  * [509.Fibonacci-Number](/leetcode/array/509.fibonacci-number.md)
  * [53.Maximum-Subarray](/leetcode/array/53.maximum-subarray.md)
  * [539.Minimum-Time-Difference](/leetcode/array/539.minimum-time-difference.md)
  * [540.Single-Element-in-a-Sorted-Array](/leetcode/array/540.single-element-in-a-sorted-array.md)
  * [56.Merge-Intervals](/leetcode/array/56.merge-intervals.md)
  * [560.Subarray-Sum-Equals-K](/leetcode/array/560.subarray-sum-equals-k.md)
  * [57.Insert-Interval](/leetcode/array/57.insert-interval.md)
  * [575.Distribute-Candies](/leetcode/array/575.distribute-candies.md)
  * [581.Shortest-Unsorted-Continuous-Subarray](/leetcode/array/581.shortest-unsorted-continuous-subarray.md)
  * [593.Valid-Square](/leetcode/array/593.valid-square.md)
  * [6.ZigZag-Conversion](/leetcode/array/6.zigzag-conversion.md)
  * [609.Find-Duplicate-File-in-System](/leetcode/array/609.find-duplicate-file-in-system.md)
  * [611.Valid-Triangle-Number](/leetcode/array/611.valid-triangle-number.md)
  * [621.Task-Scheduler](/leetcode/array/621.task-scheduler.md)
  * [628.Maximum-Product-of-Three-Numbers](/leetcode/array/628.maximum-product-of-three-numbers.md)
  * [632.Smallest-Range-Covering-Elements-from-K-Lists](/leetcode/array/632.smallest-range-covering-elements-from-k-lists.md)
  * [659.Split-Array-into-Consecutive-Subsequences](/leetcode/array/659.split-array-into-consecutive-subsequences.md)
  * [67.Add-Binary](/leetcode/array/67.add-binary.md)
  * [670.Maximum-Swap](/leetcode/array/670.maximum-swap.md)
  * [7.Reverse-Integer](/leetcode/array/7.reverse-integer.md)
  * [717.1-bit-and-2-bit-Characters](/leetcode/array/717.1-bit-and-2-bit-characters.md)
  * [722.Remove-Comments](/leetcode/array/722.remove-comments.md)
  * [724.Find-Pivot-Index](/leetcode/array/724.find-pivot-index.md)
  * [763.Partition-Labels](/leetcode/array/763.partition-labels.md)
  * [811.Subdomain-Visit-Count](/leetcode/array/811.subdomain-visit-count.md)
  * [845.Longest-Mountain-in-Array](/leetcode/array/845.longest-mountain-in-array.md)
  * [846.Hand-of-Straights](/leetcode/array/846.hand-of-straights.md)
  * [862.Shortest-Subarray-with-Sum-at-Least-K](/leetcode/array/862.shortest-subarray-with-sum-at-least-k.md)
  * [866.Prime-Palindrome](/leetcode/array/866.prime-palindrome.md)
  * [881.Boats-to-Save-People](/leetcode/array/881.boats-to-save-people.md)
  * [937.Reorder-Data-in-Log-Files](/leetcode/array/937.reorder-data-in-log-files.md)
  * [953.Verifying-an-Alien-Dictionary](/leetcode/array/953.verifying-an-alien-dictionary.md)
  * [957.Prison-Cells-After-N-Days](/leetcode/array/957.prison-cells-after-n-days.md)
  * [973.K-Closest-Points-to-Origin](/leetcode/array/973.k-closest-points-to-origin.md)
  * [974.Subarray-Sums-Divisible-by-K](/leetcode/array/974.subarray-sums-divisible-by-k.md)
  * [995.Minimum-Number-of-K-Consecutive-Bit-Flips](/leetcode/array/995.minimum-number-of-k-consecutive-bit-flips.md)
  * [Interleaving Positive And Negative Numbers](/leetcode/array/interleaving-positive-and-negative-numbers.md)
  * [Maximum Subarray Difference](/leetcode/array/maximum-subarray-difference.md)
  * [Maximum Subarray Ii](/leetcode/array/maximum-subarray-ii.md)
  * [Merge Sorted Array Ii](/leetcode/array/merge-sorted-array-ii.md)
  * [Minimum Subarray](/leetcode/array/minimum-subarray.md)
  * [Partition Array](/leetcode/array/partition-array.md)
  * [Recover Rotated Sorted Array](/leetcode/array/recover-rotated-sorted-array.md)
  * [Subarray Sum Closest](/leetcode/array/subarray-sum-closest.md)
  * [Subarray Sum Zero](/leetcode/array/subarray-sum-zero.md)
* [Basic Knowledge](/leetcode/basic-knowledge.md)
  * [Binary Tree](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Basic-Knowledge/Binary%20tree.md)
  * [Bit Operation](/leetcode/basic-knowledge/bit-operation.md)
  * [Heapify](/leetcode/basic-knowledge/heapify.md)
  * [Java Syntax](/leetcode/basic-knowledge/java-syntax.md)
  * [Monotonous Stack](/leetcode/basic-knowledge/monotonous-stack.md)
  * [Trie Tree](/leetcode/basic-knowledge/trie-tree.md)
* [Binary Search](/leetcode/binary-search.md)
  * [1011.Capacity-To-Ship-Packages-Within-D-Days](/leetcode/binary-search/1011.capacity-to-ship-packages-within-d-days.md)
  * [1044.Longest-Duplicate-Substring](/leetcode/binary-search/1044.longest-duplicate-substring.md)
  * [1062.Longest-Repeating-Substring](/leetcode/binary-search/1062.longest-repeating-substring.md)
  * [153.Find-Minimum-in-Rotated-Sorted-Array](/leetcode/binary-search/153.find-minimum-in-rotated-sorted-array.md)
  * [162.Find-Peak-Element](/leetcode/binary-search/162.find-peak-element.md)
  * [278.First-Bad-Version](/leetcode/binary-search/278.first-bad-version.md)
  * [33.Search-in-Rotated-Sorted-Array](/leetcode/binary-search/33.search-in-rotated-sorted-array.md)
  * [34.Find-First-and-Last-Position-of-Element-in-Sorted-Array](/leetcode/binary-search/34.find-first-and-last-position-of-element-in-sorted-array.md)
  * [35.Search-Insert-Position](/leetcode/binary-search/35.search-insert-position.md)
  * \[50.Pow(x,-n)]\(Binary-Search/50.Pow(x,-n).md)
  * \[69.Sqrt(x)]\(Binary-Search/69.Sqrt(x).md)
  * [704.Binary-Search](/leetcode/binary-search/704.binary-search.md)
  * [74.Search-a-2D-Matrix](/leetcode/binary-search/74.search-a-2d-matrix.md)
  * [785.Is-Graph-Bipartite?](/leetcode/binary-search/785.is-graph-bipartite.md)
  * [796.Rotate-String](/leetcode/binary-search/796.rotate-string.md)
  * [81.Search-in-Rotated-Sorted-Array-II](/leetcode/binary-search/81.search-in-rotated-sorted-array-ii.md)
  * [Count Of Smaller Number](/leetcode/binary-search/count-of-smaller-number.md)
  * [Median](/leetcode/binary-search/median.md)
  * [Search In A Big Sorted Array](/leetcode/binary-search/search-in-a-big-sorted-array.md)
* [Binary Tree](/leetcode/binary-tree.md)
  * Serialize And Deserialize
    * [297.Serialize-and-Deserialize-Binary-Tree](/leetcode/binary-tree/serialize-and-deserialize/297.serialize-and-deserialize-binary-tree.md)
    * [428.Serialize-and-Deserialize-N-ary-Tree](/leetcode/binary-tree/serialize-and-deserialize/428.serialize-and-deserialize-n-ary-tree.md)
    * [449.Serialize-and-Deserialize-BST](/leetcode/binary-tree/serialize-and-deserialize/449.serialize-and-deserialize-bst.md)
  * [100.Same-Tree](/leetcode/binary-tree/100.same-tree.md)
  * [101.Symmetric-Tree](/leetcode/binary-tree/101.symmetric-tree.md)
  * [1038.Binary-Search-Tree-to-Greater-Sum-Tree](/leetcode/binary-tree/1038.binary-search-tree-to-greater-sum-tree.md)
  * [105.Construct-Binary-Tree-from-Preorder-and-Inorder-Traversal](/leetcode/binary-tree/105.construct-binary-tree-from-preorder-and-inorder-traversal.md)
  * [106.Construct-Binary-Tree-from-Inorder-and-Postorder-Traversal](/leetcode/binary-tree/106.construct-binary-tree-from-inorder-and-postorder-traversal.md)
  * [108.Convert-Sorted-Array-to-Binary-Search-Tree](/leetcode/binary-tree/108.convert-sorted-array-to-binary-search-tree.md)
  * [1110.Delete-Nodes-And-Return-Forest](/leetcode/binary-tree/1110.delete-nodes-and-return-forest.md)
  * [114.Flatten-Binary-Tree-to-Linked-List](/leetcode/binary-tree/114.flatten-binary-tree-to-linked-list.md)
  * [1145.Binary-Tree-Coloring-Game](/leetcode/binary-tree/1145.binary-tree-coloring-game.md)
  * [116.Populating-Next-Right-Pointers-in-Each-Node](/leetcode/binary-tree/116.populating-next-right-pointers-in-each-node.md)
  * [117.Populating-Next-Right-Pointers-in-Each-Node-II](/leetcode/binary-tree/117.populating-next-right-pointers-in-each-node-ii.md)
  * [129.Sum-Root-to-Leaf-Numbers](/leetcode/binary-tree/129.sum-root-to-leaf-numbers.md)
  * [144.Binary-Tree-Preorder-Traversal](/leetcode/binary-tree/144.binary-tree-preorder-traversal.md)
  * [199.Binary-Tree-Right-Side-View](/leetcode/binary-tree/199.binary-tree-right-side-view.md)
  * [222.Count-Complete-Tree-Nodes](/leetcode/binary-tree/222.count-complete-tree-nodes.md)
  * [226.Invert-Binary-Tree](/leetcode/binary-tree/226.invert-binary-tree.md)
  * [230.Kth-Smallest-Element-in-a-BST](/leetcode/binary-tree/230.kth-smallest-element-in-a-bst.md)
  * [257.Binary-Tree-Paths](/leetcode/binary-tree/257.binary-tree-paths.md)
  * [270.Closest-Binary-Search-Tree-Value](/leetcode/binary-tree/270.closest-binary-search-tree-value.md)
  * [285.Inorder-Successor-in-BST](/leetcode/binary-tree/285.inorder-successor-in-bst.md)
  * [337.House-Robber-III](/leetcode/binary-tree/337.house-robber-iii.md)
  * [426.Convert-Binary-Search-Tree-to-Sorted-Doubly-Linked-List](/leetcode/binary-tree/426.convert-binary-search-tree-to-sorted-doubly-linked-list.md)
  * [510.Inorder-Successor-in-BST-II](/leetcode/binary-tree/510.inorder-successor-in-bst-ii.md)
  * [543.Diameter-of-Binary-Tree](/leetcode/binary-tree/543.diameter-of-binary-tree.md)
  * [617.Merge-Two-Binary-Trees](/leetcode/binary-tree/617.merge-two-binary-trees.md)
  * [652.Find-Duplicate-Subtrees](/leetcode/binary-tree/652.find-duplicate-subtrees.md)
  * [653.Two-Sum-IV---Input-is-a-BST](/leetcode/binary-tree/653.two-sum-iv-input-is-a-bst.md)
  * [662.Maximum-Width-of-Binary-Tree](/leetcode/binary-tree/662.maximum-width-of-binary-tree.md)
  * [669.Trim-a-Binary-Search-Tree](/leetcode/binary-tree/669.trim-a-binary-search-tree.md)
  * [889.Construct-Binary-Tree-from-Preorder-and-Postorder-Traversal](/leetcode/binary-tree/889.construct-binary-tree-from-preorder-and-postorder-traversal.md)
  * [938.Range-Sum-of-BST](/leetcode/binary-tree/938.range-sum-of-bst.md)
  * [94.Binary-Tree-Inorder-Traversal](/leetcode/binary-tree/94.binary-tree-inorder-traversal.md)
  * [951.Flip-Equivalent-Binary-Trees](/leetcode/binary-tree/951.flip-equivalent-binary-trees.md)
  * [958.Check-Completeness-of-a-Binary-Tree](/leetcode/binary-tree/958.check-completeness-of-a-binary-tree.md)
  * [979.Distribute-Coins-in-Binary-Tree](/leetcode/binary-tree/979.distribute-coins-in-binary-tree.md)
  * [987.Vertical-Order-Traversal-of-a-Binary-Tree](/leetcode/binary-tree/987.vertical-order-traversal-of-a-binary-tree.md)
  * [Search Range In Binary Search Tree](/leetcode/binary-tree/search-range-in-binary-search-tree.md)
* Bit
  * [307.Range-Sum-Query---Mutable](/leetcode/bit/307.range-sum-query-mutable.md)
  * [308.Range-Sum-Query-2D---Mutable](/leetcode/bit/308.range-sum-query-2d-mutable.md)
  * [315.Count-of-Smaller-Numbers-After-Self](/leetcode/bit/315.count-of-smaller-numbers-after-self.md)
  * [493.Reverse-Pairs](/leetcode/bit/493.reverse-pairs.md)
* [Data Structure](/leetcode/data-structure.md)
  * [Basic Calculator](/leetcode/data-structure/basic-calculator.md)
    * [224.Basic-Calculator](/leetcode/data-structure/basic-calculator/224.basic-calculator.md)
    * [227.Basic-Calculator-II](/leetcode/data-structure/basic-calculator/227.basic-calculator-ii.md)
    * [772.Basic-Calculator-III](/leetcode/data-structure/basic-calculator/772.basic-calculator-iii.md)
    * [Basic Claculator Iv](/leetcode/data-structure/basic-calculator/basic-claculator-iv.md)
  * [1146.Snapshot-Array](/leetcode/data-structure/1146.snapshot-array.md)
  * [1152.Analyze-User-Website-Visit-Pattern](/leetcode/data-structure/1152.analyze-user-website-visit-pattern.md)
  * [1167.Minimum-Cost-to-Connect-Sticks](/leetcode/data-structure/1167.minimum-cost-to-connect-sticks.md)
  * [1172.Dinner-Plate-Stacks](/leetcode/data-structure/1172.dinner-plate-stacks.md)
  * [1236.Web-Crawler](/leetcode/data-structure/1236.web-crawler.md)
  * [128.Longest-Consecutive-Sequence](/leetcode/data-structure/128.longest-consecutive-sequence.md)
  * [146.LRU-Cache](/leetcode/data-structure/146.lru-cache.md)
  * [155.Min-Stack](/leetcode/data-structure/155.min-stack.md)
  * [158.Read-N-Characters-Given-Read4-II---Call-multiple-times](/leetcode/data-structure/158.read-n-characters-given-read4-ii-call-multiple-times.md)
  * [225.Implement-Stack-using-Queues](/leetcode/data-structure/225.implement-stack-using-queues.md)
  * [232.Implement-Queue-using-Stacks](/leetcode/data-structure/232.implement-queue-using-stacks.md)
  * [253.Meeting-Rooms-II](/leetcode/data-structure/253.meeting-rooms-ii.md)
  * [263.Ugly-Number](/leetcode/data-structure/263.ugly-number.md)
  * [271.Encode-and-Decode-Strings](/leetcode/data-structure/271.encode-and-decode-strings.md)
  * \[28.Implement-strStr()]\(Data-Structure/28.Implement-strStr().md)
  * [281.Zigzag-Iterator](/leetcode/data-structure/281.zigzag-iterator.md)
  * [284.Peeking-Iterator](/leetcode/data-structure/284.peeking-iterator.md)
  * [295.Find-Median-from-Data-Stream](/leetcode/data-structure/295.find-median-from-data-stream.md)
  * [314.Binary-Tree-Vertical-Order-Traversal](/leetcode/data-structure/314.binary-tree-vertical-order-traversal.md)
  * [332.Reconstruct-Itinerary](/leetcode/data-structure/332.reconstruct-itinerary.md)
  * [341.Flatten-Nested-List-Iterator](/leetcode/data-structure/341.flatten-nested-list-iterator.md)
  * [346.Moving-Average-from-Data-Stream](/leetcode/data-structure/346.moving-average-from-data-stream.md)
  * [348.Design-Tic-Tac-Toe](/leetcode/data-structure/348.design-tic-tac-toe.md)
  * [353.Design-Snake-Game](/leetcode/data-structure/353.design-snake-game.md)
  * [359.Logger-Rate-Limiter](/leetcode/data-structure/359.logger-rate-limiter.md)
  * [362.Design-Hit-Counter](/leetcode/data-structure/362.design-hit-counter.md)
  * \[380.Insert-Delete-GetRandom-O(1)]\(Data-Structure/380.Insert-Delete-GetRandom-O(1).md)
  * \[381.Insert-Delete-GetRandom-O(1)---Duplicates-allowed]\(Data-Structure/381.Insert-Delete-GetRandom-O(1)---Duplicates-allowed.md)
  * [384.Shuffle-an-Array](/leetcode/data-structure/384.shuffle-an-array.md)
  * [41.First-Missing-Positive](/leetcode/data-structure/41.first-missing-positive.md)
  * [460.LFU-Cache](/leetcode/data-structure/460.lfu-cache.md)
  * \[470.Implement-Rand10()-Using-Rand7()]\(Data-Structure/470.Implement-Rand10()-Using-Rand7().md)
  * [49.Group-Anagrams](/leetcode/data-structure/49.group-anagrams.md)
  * [523.Continuous-Subarray-Sum](/leetcode/data-structure/523.continuous-subarray-sum.md)
  * [528.Random-Pick-with-Weight](/leetcode/data-structure/528.random-pick-with-weight.md)
  * [535.Encode-and-Decode-TinyURL](/leetcode/data-structure/535.encode-and-decode-tinyurl.md)
  * [545.Boundary-of-Binary-Tree](/leetcode/data-structure/545.boundary-of-binary-tree.md)
  * [572.Subtree-of-Another-Tree](/leetcode/data-structure/572.subtree-of-another-tree.md)
  * [588.Design-In-Memory-File-System](/leetcode/data-structure/588.design-in-memory-file-system.md)
  * [622.Design-Circular-Queue](/leetcode/data-structure/622.design-circular-queue.md)
  * [642.Design-Search-Autocomplete-System](/leetcode/data-structure/642.design-search-autocomplete-system.md)
  * [692.Top-K-Frequent-Words](/leetcode/data-structure/692.top-k-frequent-words.md)
  * [706.Design-HashMap](/leetcode/data-structure/706.design-hashmap.md)
  * [707.Design-Linked-List](/leetcode/data-structure/707.design-linked-list.md)
  * [729.My-Calendar-I](/leetcode/data-structure/729.my-calendar-i.md)
  * [731.My-Calendar-II](/leetcode/data-structure/731.my-calendar-ii.md)
  * [759.Employee-Free-Time](/leetcode/data-structure/759.employee-free-time.md)
  * [794.Valid-Tic-Tac-Toe-State](/leetcode/data-structure/794.valid-tic-tac-toe-state.md)
  * [84.Largest-Rectangle-in-Histogram](/leetcode/data-structure/84.largest-rectangle-in-histogram.md)
  * [843.Guess-the-Word](/leetcode/data-structure/843.guess-the-word.md)
  * [900.RLE-Iterator](/leetcode/data-structure/900.rle-iterator.md)
  * [937.Reorder-Data-in-Log-Files](/leetcode/data-structure/937.reorder-data-in-log-files.md)
  * [981.Time-Based-Key-Value-Store](/leetcode/data-structure/981.time-based-key-value-store.md)
  * [99.Recover-Binary-Search-Tree](/leetcode/data-structure/99.recover-binary-search-tree.md)
  * [Add And Search Word Data Structure Design](/leetcode/data-structure/add-and-search-word-data-structure-design.md)
  * [Heapify](/leetcode/data-structure/heapify.md)
  * [Max Tree](/leetcode/data-structure/max-tree.md)
  * [Rehashing](/leetcode/data-structure/rehashing.md)
  * [Subarray Sum Zero](/leetcode/data-structure/subarray-sum-zero.md)
* [Divide Conquer](/leetcode/divide-conquer.md)
  * [102.Binary-Tree-Level-Order-Traversal](/leetcode/divide-conquer/102.binary-tree-level-order-traversal.md)
  * [103.Binary-Tree-Zigzag-Level-Order-Traversal](/leetcode/divide-conquer/103.binary-tree-zigzag-level-order-traversal.md)
  * [104.Maximum-Depth-of-Binary-Tree](/leetcode/divide-conquer/104.maximum-depth-of-binary-tree.md)
  * [107.Binary-Tree-Level-Order-Traversal-II](/leetcode/divide-conquer/107.binary-tree-level-order-traversal-ii.md)
  * [110.Balanced-Binary-Tree](/leetcode/divide-conquer/110.balanced-binary-tree.md)
  * [124.Binary-Tree-Maximum-Path-Sum](/leetcode/divide-conquer/124.binary-tree-maximum-path-sum.md)
  * [173.Binary-Search-Tree-Iterator](/leetcode/divide-conquer/173.binary-search-tree-iterator.md)
  * [218.The-Skyline-Problem](/leetcode/divide-conquer/218.the-skyline-problem.md)
  * [236.Lowest-Common-Ancestor-of-a-Binary-Tree](/leetcode/divide-conquer/236.lowest-common-ancestor-of-a-binary-tree.md)
  * [450.Delete-Node-in-a-BST](/leetcode/divide-conquer/450.delete-node-in-a-bst.md)
  * [973.K-Closest-Points-to-Origin](/leetcode/divide-conquer/973.k-closest-points-to-origin.md)
  * [98.Validate-Binary-Search-Tree](/leetcode/divide-conquer/98.validate-binary-search-tree.md)
  * [Inorder](/leetcode/divide-conquer/inorder.md)
  * [Insert Node In A Binary Search Tree](/leetcode/divide-conquer/insert-node-in-a-binary-search-tree.md)
  * [Postorder](/leetcode/divide-conquer/postorder.md)
  * [Preorder](/leetcode/divide-conquer/preorder.md)
* [Dynamic Programming](/leetcode/dynamic-programming.md)
  * 1.position
    * [1048.Longest-String-Chain](/leetcode/dynamic-programming/1.position/1048.longest-string-chain.md)
    * [198.House-Robber](/leetcode/dynamic-programming/1.position/198.house-robber.md)
    * [256.Paint-House](/leetcode/dynamic-programming/1.position/256.paint-house.md)
    * [265.Paint-House-II](/leetcode/dynamic-programming/1.position/265.paint-house-ii.md)
    * [32.Longest-Valid-Parentheses](/leetcode/dynamic-programming/1.position/32.longest-valid-parentheses.md)
    * [338.Counting-Bits](/leetcode/dynamic-programming/1.position/338.counting-bits.md)
    * [361.Bomb-Enemy](/leetcode/dynamic-programming/1.position/361.bomb-enemy.md)
    * [403.Frog-Jump](/leetcode/dynamic-programming/1.position/403.frog-jump.md)
    * [45.Jump-Game-II](/leetcode/dynamic-programming/1.position/45.jump-game-ii.md)
    * [518.Coin-Change-2](/leetcode/dynamic-programming/1.position/518.coin-change-2.md)
    * [55.Jump-Game](/leetcode/dynamic-programming/1.position/55.jump-game.md)
    * [62.Unique-Paths](/leetcode/dynamic-programming/1.position/62.unique-paths.md)
    * [63.Unique-Paths-II](/leetcode/dynamic-programming/1.position/63.unique-paths-ii.md)
    * [64.Minimum-Path-Sum](/leetcode/dynamic-programming/1.position/64.minimum-path-sum.md)
    * [70.Climbing-Stairs](/leetcode/dynamic-programming/1.position/70.climbing-stairs.md)
    * [72.Edit-Distance](/leetcode/dynamic-programming/1.position/72.edit-distance.md)
    * [85.Maximal-Rectangle](/leetcode/dynamic-programming/1.position/85.maximal-rectangle.md)
    * [871.Minimum-Number-of-Refueling-Stops](/leetcode/dynamic-programming/1.position/871.minimum-number-of-refueling-stops.md)
    * [91.Decode-Ways](/leetcode/dynamic-programming/1.position/91.decode-ways.md)
    * [97.Interleaving-String](/leetcode/dynamic-programming/1.position/97.interleaving-string.md)
    * [980.Unique-Paths-III](/leetcode/dynamic-programming/1.position/980.unique-paths-iii.md)
  * 2.sequence
    * Sell Stock
      * [188.Best-Time-to-Buy-and-Sell-Stock-IV](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/Sell-Stock/188.Best-Time-to-Buy-and-Sell-Stock-IV.md)
      * [309.Best-Time-to-Buy-and-Sell-Stock-with-Cooldown](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/Sell-Stock/309.Best-Time-to-Buy-and-Sell-Stock-with-Cooldown.md)
    * [115.Distinct-Subsequences](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/115.Distinct-Subsequences.md)
    * [132.Palindrome-Partitioning-II](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/132.Palindrome-Partitioning-II.md)
    * [300.Longest-Increasing-Subsequence](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/300.Longest-Increasing-Subsequence.md)
    * [472.Concatenated-Words](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/472.Concatenated-Words.md)
    * [516.Longest-Palindromic-Subsequence](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/516.Longest-Palindromic-Subsequence.md)
    * [727.Minimum-Window-Subsequence](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/727.Minimum-Window-Subsequence.md)
    * [801.Minimum-Swaps-To-Make-Sequences-Increasing](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/801.Minimum-Swaps-To-Make-Sequences-Increasing.md)
    * [K Sum](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/K-Sum.md)
    * [Long Common Sequence](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/Long-Common-Sequence.md)
    * [Maximum Subarray Iii](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/Maximum-Subarray-Iii.md)
    * [Minimum Adjustment Cost](https://github.com/Chasel-Shao/leetcode/tree/1e34362c20b62ccd88ffec0995ad33652ef99551/Dynamic-Programming/2.sequence/Minimum-Adjustment-Cost.md)
  * [Backpack Problem](/leetcode/dynamic-programming/backpack-problem.md)
    * [1155.Number-of-Dice-Rolls-With-Target-Sum](/leetcode/dynamic-programming/backpack-problem/1155.number-of-dice-rolls-with-target-sum.md)
    * [322.Coin-Change](/leetcode/dynamic-programming/backpack-problem/322.coin-change.md)
    * [416.Partition-Equal-Subset-Sum](/leetcode/dynamic-programming/backpack-problem/416.partition-equal-subset-sum.md)
    * [Backpack Ii](/leetcode/dynamic-programming/backpack-problem/backpack-ii.md)
    * [Backpack Iii](/leetcode/dynamic-programming/backpack-problem/backpack-iii.md)
    * [Backpack](/leetcode/dynamic-programming/backpack-problem/backpack.md)
  * 区间型
    * [1000.Minimum-Cost-to-Merge-Stones](/leetcode/dynamic-programming/qu-jian-xing/1000.minimum-cost-to-merge-stones.md)
    * [1335.Minimum-Difficulty-of-a-Job-Schedule](/leetcode/dynamic-programming/qu-jian-xing/1335.minimum-difficulty-of-a-job-schedule.md)
    * [375.Guess-Number-Higher-or-Lower-II](/leetcode/dynamic-programming/qu-jian-xing/375.guess-number-higher-or-lower-ii.md)
    * [87.Scramble-String](/leetcode/dynamic-programming/qu-jian-xing/87.scramble-string.md)
    * [Coins In A Line Iii](/leetcode/dynamic-programming/qu-jian-xing/coins-in-a-line-iii.md)
  * 矩阵坐标
    * [1277.Count-Square-Submatrices-with-All-Ones](/leetcode/dynamic-programming/ju-zhen-zuo-biao/1277.count-square-submatrices-with-all-ones.md)
    * [221.Maximal-Square](/leetcode/dynamic-programming/ju-zhen-zuo-biao/221.maximal-square.md)
    * [741.Cherry-Pickup](/leetcode/dynamic-programming/ju-zhen-zuo-biao/741.cherry-pickup.md)
  * [1049.Last-Stone-Weight-II](/leetcode/dynamic-programming/1049.last-stone-weight-ii.md)
  * [1140.Stone-Game-II](/leetcode/dynamic-programming/1140.stone-game-ii.md)
  * [1235.Maximum-Profit-in-Job-Scheduling](/leetcode/dynamic-programming/1235.maximum-profit-in-job-scheduling.md)
  * [1320.Minimum-Distance-to-Type-a-Word-Using-Two-Fingers](/leetcode/dynamic-programming/1320.minimum-distance-to-type-a-word-using-two-fingers.md)
  * [1406.Stone-Game-III](/leetcode/dynamic-programming/1406.stone-game-iii.md)
  * [774.Minimize-Max-Distance-to-Gas-Station](/leetcode/dynamic-programming/774.minimize-max-distance-to-gas-station.md)
  * [Longest Arithmetic Sequence](/leetcode/dynamic-programming/longest-arithmetic-sequence.md)
* [Graph Search](/leetcode/graph-search.md)
  * Word Ladder
    * [126.Word-Ladder-II](/leetcode/graph-search/word-ladder/126.word-ladder-ii.md)
    * [127.Word-Ladder](/leetcode/graph-search/word-ladder/127.word-ladder.md)
  * [10.Regular-Expression-Matching](/leetcode/graph-search/10.regular-expression-matching.md)
  * [1041.Robot-Bounded-In-Circle](/leetcode/graph-search/1041.robot-bounded-in-circle.md)
  * [1066.Campus-Bikes-II](/leetcode/graph-search/1066.campus-bikes-ii.md)
  * [1087.Brace-Expansion](/leetcode/graph-search/1087.brace-expansion.md)
  * [1102.Path-With-Maximum-Minimum-Value](/leetcode/graph-search/1102.path-with-maximum-minimum-value.md)
  * [113.Path-Sum-II](/leetcode/graph-search/113.path-sum-ii.md)
  * [1192.Critical-Connections-in-a-Network](/leetcode/graph-search/1192.critical-connections-in-a-network.md)
  * [1197.Minimum-Knight-Moves](/leetcode/graph-search/1197.minimum-knight-moves.md)
  * [1219.Path-with-Maximum-Gold](/leetcode/graph-search/1219.path-with-maximum-gold.md)
  * [1239.Maximum-Length-of-a-Concatenated-String-with-Unique-Characters](/leetcode/graph-search/1239.maximum-length-of-a-concatenated-string-with-unique-characters.md)
  * [1284.Minimum-Number-of-Flips-to-Convert-Binary-Matrix-to-Zero-Matrix](/leetcode/graph-search/1284.minimum-number-of-flips-to-convert-binary-matrix-to-zero-matrix.md)
  * [1293.Shortest-Path-in-a-Grid-with-Obstacles-Elimination](/leetcode/graph-search/1293.shortest-path-in-a-grid-with-obstacles-elimination.md)
  * [131.Palindrome-Partitioning](/leetcode/graph-search/131.palindrome-partitioning.md)
  * [133.Clone-Graph](/leetcode/graph-search/133.clone-graph.md)
  * [1345.Jump-Game-IV](/leetcode/graph-search/1345.jump-game-iv.md)
  * [1376.Time-Needed-to-Inform-All-Employees](/leetcode/graph-search/1376.time-needed-to-inform-all-employees.md)
  * [139.Word-Break](/leetcode/graph-search/139.word-break.md)
  * [140.Word-Break-II](/leetcode/graph-search/140.word-break-ii.md)
  * [1416.Restore-The-Array](/leetcode/graph-search/1416.restore-the-array.md)
  * [17.Letter-Combinations-of-a-Phone-Number](/leetcode/graph-search/17.letter-combinations-of-a-phone-number.md)
  * [179.Largest-Number](/leetcode/graph-search/179.largest-number.md)
  * [200.Number-of-Islands](/leetcode/graph-search/200.number-of-islands.md)
  * [212.Word-Search-II](/leetcode/graph-search/212.word-search-ii.md)
  * [22.Generate-Parentheses](/leetcode/graph-search/22.generate-parentheses.md)
  * [248.Strobogrammatic-Number-III](/leetcode/graph-search/248.strobogrammatic-number-iii.md)
  * [286.Walls-and-Gates](/leetcode/graph-search/286.walls-and-gates.md)
  * [289.Game-of-Life](/leetcode/graph-search/289.game-of-life.md)
  * [298.Binary-Tree-Longest-Consecutive-Sequence](/leetcode/graph-search/298.binary-tree-longest-consecutive-sequence.md)
  * [301.Remove-Invalid-Parentheses](/leetcode/graph-search/301.remove-invalid-parentheses.md)
  * [312.Burst-Balloons](/leetcode/graph-search/312.burst-balloons.md)
  * [317.Shortest-Distance-from-All-Buildings](/leetcode/graph-search/317.shortest-distance-from-all-buildings.md)
  * [320.Generalized-Abbreviation](/leetcode/graph-search/320.generalized-abbreviation.md)
  * [323.Number-of-Connected-Components-in-an-Undirected-Graph](/leetcode/graph-search/323.number-of-connected-components-in-an-undirected-graph.md)
  * [329.Longest-Increasing-Path-in-a-Matrix](/leetcode/graph-search/329.longest-increasing-path-in-a-matrix.md)
  * [364.Nested-List-Weight-Sum-II](/leetcode/graph-search/364.nested-list-weight-sum-ii.md)
  * [386.Lexicographical-Numbers](/leetcode/graph-search/386.lexicographical-numbers.md)
  * [39.Combination-Sum](/leetcode/graph-search/39.combination-sum.md)
  * [399.Evaluate-Division](/leetcode/graph-search/399.evaluate-division.md)
  * [40.Combination-Sum-II](/leetcode/graph-search/40.combination-sum-ii.md)
  * [417.Pacific-Atlantic-Water-Flow](/leetcode/graph-search/417.pacific-atlantic-water-flow.md)
  * [430.Flatten-a-Multilevel-Doubly-Linked-List](/leetcode/graph-search/430.flatten-a-multilevel-doubly-linked-list.md)
  * [437.Path-Sum-III](/leetcode/graph-search/437.path-sum-iii.md)
  * [44.Wildcard-Matching](/leetcode/graph-search/44.wildcard-matching.md)
  * [463.Island-Perimeter](/leetcode/graph-search/463.island-perimeter.md)
  * [465.Optimal-Account-Balancing](/leetcode/graph-search/465.optimal-account-balancing.md)
  * [489.Robot-Room-Cleaner](/leetcode/graph-search/489.robot-room-cleaner.md)
  * [490.The-Maze](/leetcode/graph-search/490.the-maze.md)
  * [494.Target-Sum](/leetcode/graph-search/494.target-sum.md)
  * [51.N-Queens](/leetcode/graph-search/51.n-queens.md)
  * [515.Find-Largest-Value-in-Each-Tree-Row](/leetcode/graph-search/515.find-largest-value-in-each-tree-row.md)
  * [524.Longest-Word-in-Dictionary-through-Deleting](/leetcode/graph-search/524.longest-word-in-dictionary-through-deleting.md)
  * [529.Minesweeper](/leetcode/graph-search/529.minesweeper.md)
  * [547.Number-of-Provinces](/leetcode/graph-search/547.number-of-provinces.md)
  * [568.Maximum-Vacation-Days](/leetcode/graph-search/568.maximum-vacation-days.md)
  * [675.Cut-Off-Trees-for-Golf-Event](/leetcode/graph-search/675.cut-off-trees-for-golf-event.md)
  * [679.24-Game](/leetcode/graph-search/679.24-game.md)
  * [695.Max-Area-of-Island](/leetcode/graph-search/695.max-area-of-island.md)
  * [698.Partition-to-K-Equal-Sum-Subsets](/leetcode/graph-search/698.partition-to-k-equal-sum-subsets.md)
  * [721.Accounts-Merge](/leetcode/graph-search/721.accounts-merge.md)
  * [733.Flood-Fill](/leetcode/graph-search/733.flood-fill.md)
  * [737.Sentence-Similarity-II](/leetcode/graph-search/737.sentence-similarity-ii.md)
  * [743.Network-Delay-Time](/leetcode/graph-search/743.network-delay-time.md)
  * [752.Open-the-Lock](/leetcode/graph-search/752.open-the-lock.md)
  * [753.Cracking-the-Safe](/leetcode/graph-search/753.cracking-the-safe.md)
  * [773.Sliding-Puzzle](/leetcode/graph-search/773.sliding-puzzle.md)
  * [79.Word-Search](/leetcode/graph-search/79.word-search.md)
  * [802.Find-Eventual-Safe-States](/leetcode/graph-search/802.find-eventual-safe-states.md)
  * [815.Bus-Routes](/leetcode/graph-search/815.bus-routes.md)
  * [818.Race-Car](/leetcode/graph-search/818.race-car.md)
  * [854.K-Similar-Strings](/leetcode/graph-search/854.k-similar-strings.md)
  * [863.All-Nodes-Distance-K-in-Binary-Tree](/leetcode/graph-search/863.all-nodes-distance-k-in-binary-tree.md)
  * [864.Shortest-Path-to-Get-All-Keys](/leetcode/graph-search/864.shortest-path-to-get-all-keys.md)
  * [909.Snakes-and-Ladders](/leetcode/graph-search/909.snakes-and-ladders.md)
  * [93.Restore-IP-Addresses](/leetcode/graph-search/93.restore-ip-addresses.md)
  * [95.Unique-Binary-Search-Trees-II](/leetcode/graph-search/95.unique-binary-search-trees-ii.md)
  * [96.Unique-Binary-Search-Trees](/leetcode/graph-search/96.unique-binary-search-trees.md)
  * [994.Rotting-Oranges](/leetcode/graph-search/994.rotting-oranges.md)
* [Linked List](/leetcode/linked-list.md)
  * Add Two Numbers
    * [2.Add-Two-Numbers](/leetcode/linked-list/add-two-numbers/2.add-two-numbers.md)
    * [445.Add-Two-Numbers-II](/leetcode/linked-list/add-two-numbers/445.add-two-numbers-ii.md)
  * [109.Convert-Sorted-List-to-Binary-Search-Tree](/leetcode/linked-list/109.convert-sorted-list-to-binary-search-tree.md)
  * [138.Copy-List-with-Random-Pointer](/leetcode/linked-list/138.copy-list-with-random-pointer.md)
  * [141.Linked-List-Cycle](/leetcode/linked-list/141.linked-list-cycle.md)
  * [142.Linked-List-Cycle-II](/leetcode/linked-list/142.linked-list-cycle-ii.md)
  * [143.Reorder-List](/leetcode/linked-list/143.reorder-list.md)
  * [148.Sort-List](/leetcode/linked-list/148.sort-list.md)
  * [160.Intersection-of-Two-Linked-Lists](/leetcode/linked-list/160.intersection-of-two-linked-lists.md)
  * [19.Remove-Nth-Node-From-End-of-List](/leetcode/linked-list/19.remove-nth-node-from-end-of-list.md)
  * [206.Reverse-Linked-List](/leetcode/linked-list/206.reverse-linked-list.md)
  * [21.Merge-Two-Sorted-Lists](/leetcode/linked-list/21.merge-two-sorted-lists.md)
  * [23.Merge-k-Sorted-Lists](/leetcode/linked-list/23.merge-k-sorted-lists.md)
  * [234.Palindrome-Linked-List](/leetcode/linked-list/234.palindrome-linked-list.md)
  * [237.Delete-Node-in-a-Linked-List](/leetcode/linked-list/237.delete-node-in-a-linked-list.md)
  * [24.Swap-Nodes-in-Pairs](/leetcode/linked-list/24.swap-nodes-in-pairs.md)
  * [25.Reverse-Nodes-in-k-Group](/leetcode/linked-list/25.reverse-nodes-in-k-group.md)
  * [328.Odd-Even-Linked-List](/leetcode/linked-list/328.odd-even-linked-list.md)
  * [369.Plus-One-Linked-List](/leetcode/linked-list/369.plus-one-linked-list.md)
  * [61.Rotate-List](/leetcode/linked-list/61.rotate-list.md)
  * [82.Remove-Duplicates-from-Sorted-List-II](/leetcode/linked-list/82.remove-duplicates-from-sorted-list-ii.md)
  * [83.Remove-Duplicates-from-Sorted-List](/leetcode/linked-list/83.remove-duplicates-from-sorted-list.md)
  * [86.Partition-List](/leetcode/linked-list/86.partition-list.md)
  * [876.Middle-of-the-Linked-List](/leetcode/linked-list/876.middle-of-the-linked-list.md)
  * [92.Reverse-Linked-List-II](/leetcode/linked-list/92.reverse-linked-list-ii.md)
  * [Remove Duplicates From Unsorted List Geeksforgeeks](/leetcode/linked-list/remove-duplicates-from-unsorted-list-geeksforgeeks.md)
* Matrix
  * Spiral Matrix
    * [54.Spiral-Matrix](/leetcode/matrix/spiral-matrix/54.spiral-matrix.md)
    * [59.Spiral-Matrix-II](/leetcode/matrix/spiral-matrix/59.spiral-matrix-ii.md)
  * [1074.Number-of-Submatrices-That-Sum-to-Target](/leetcode/matrix/1074.number-of-submatrices-that-sum-to-target.md)
  * [1292.Maximum-Side-Length-of-a-Square-with-Sum-Less-than-or-Equal-to-Threshold](/leetcode/matrix/1292.maximum-side-length-of-a-square-with-sum-less-than-or-equal-to-threshold.md)
  * [240.Search-a-2D-Matrix-II](/leetcode/matrix/240.search-a-2d-matrix-ii.md)
  * [296.Best-Meeting-Point](/leetcode/matrix/296.best-meeting-point.md)
  * [304.Range-Sum-Query-2D---Immutable](/leetcode/matrix/304.range-sum-query-2d-immutable.md)
  * [311.Sparse-Matrix-Multiplication](/leetcode/matrix/311.sparse-matrix-multiplication.md)
  * [36.Valid-Sudoku](/leetcode/matrix/36.valid-sudoku.md)
  * [363.Max-Sum-of-Rectangle-No-Larger-Than-K](/leetcode/matrix/363.max-sum-of-rectangle-no-larger-than-k.md)
  * [37.Sudoku-Solver](/leetcode/matrix/37.sudoku-solver.md)
  * [48.Rotate-Image](/leetcode/matrix/48.rotate-image.md)
  * [498.Diagonal-Traverse](/leetcode/matrix/498.diagonal-traverse.md)
  * [562.Longest-Line-of-Consecutive-One-in-Matrix](/leetcode/matrix/562.longest-line-of-consecutive-one-in-matrix.md)
  * [723.Candy-Crush](/leetcode/matrix/723.candy-crush.md)
  * [73.Set-Matrix-Zeroes](/leetcode/matrix/73.set-matrix-zeroes.md)
  * [835.Image-Overlap](/leetcode/matrix/835.image-overlap.md)
  * [939.Minimum-Area-Rectangle](/leetcode/matrix/939.minimum-area-rectangle.md)
  * [963.Minimum-Area-Rectangle-II](/leetcode/matrix/963.minimum-area-rectangle-ii.md)
  * [986.Interval-List-Intersections](/leetcode/matrix/986.interval-list-intersections.md)
  * [Friend Circles](/leetcode/matrix/friend-circles.md)
* Mergesort
  * [Algorithm Swap](/leetcode/mergesort/algorithm-swap.md)
* Numbers
  * [1088.Confusing-Number-II](/leetcode/numbers/1088.confusing-number-ii.md)
  * [13.Roman-to-Integer](/leetcode/numbers/13.roman-to-integer.md)
  * [166.Fraction-to-Recurring-Decimal](/leetcode/numbers/166.fraction-to-recurring-decimal.md)
  * [202.Happy-Number](/leetcode/numbers/202.happy-number.md)
  * [65.Valid-Number](/leetcode/numbers/65.valid-number.md)
  * [681.Next-Closest-Time](/leetcode/numbers/681.next-closest-time.md)
  * [780.Reaching-Points](/leetcode/numbers/780.reaching-points.md)
  * [829.Consecutive-Numbers-Sum](/leetcode/numbers/829.consecutive-numbers-sum.md)
  * [914.X-of-a-Kind-in-a-Deck-of-Cards](/leetcode/numbers/914.x-of-a-kind-in-a-deck-of-cards.md)
  * [991.Broken-Calculator](/leetcode/numbers/991.broken-calculator.md)
* [Other](/leetcode/other.md)
  * [1185.Day-of-the-Week](/leetcode/other/1185.day-of-the-week.md)
  * [149.Max-Points-on-a-Line](/leetcode/other/149.max-points-on-a-line.md)
  * [176.Second-Highest-Salary](/leetcode/other/176.second-highest-salary.md)
  * [20.Valid-Parentheses](/leetcode/other/20.valid-parentheses.md)
  * [277.Find-the-Celebrity](/leetcode/other/277.find-the-celebrity.md)
  * [612.Shortest-Distance-in-a-Plane](/leetcode/other/612.shortest-distance-in-a-plane.md)
  * \[8.String-to-Integer-(atoi)]\(Other/8.String-to-Integer-(atoi).md)
* [Permutation And Combination](/leetcode/permutation-and-combination.md)
  * [46.Permutations](/leetcode/permutation-and-combination/46.permutations.md)
  * [47.Permutations-II](/leetcode/permutation-and-combination/47.permutations-ii.md)
  * [60.Permutation-Sequence](/leetcode/permutation-and-combination/60.permutation-sequence.md)
  * [77.Combinations](/leetcode/permutation-and-combination/77.combinations.md)
  * [78.Subsets](/leetcode/permutation-and-combination/78.subsets.md)
  * [90.Subsets-II](/leetcode/permutation-and-combination/90.subsets-ii.md)
* Queue
  * [480.Sliding-Window-Median](/leetcode/queue/480.sliding-window-median.md)
  * [853.Car-Fleet](/leetcode/queue/853.car-fleet.md)
  * [862.Shortest-Subarray-with-Sum-at-Least-K](/leetcode/queue/862.shortest-subarray-with-sum-at-least-k.md)
  * [950.Reveal-Cards-In-Increasing-Order](/leetcode/queue/950.reveal-cards-in-increasing-order.md)
* [Sort Algorithm](/leetcode/sort-algorithm.md)
  * [1057.Campus-Bikes](/leetcode/sort-algorithm/1057.campus-bikes.md)
  * [969.Pancake-Sorting](/leetcode/sort-algorithm/969.pancake-sorting.md)
  * [Bubble Sort](/leetcode/sort-algorithm/bubble-sort.md)
  * [Merge Sort](/leetcode/sort-algorithm/merge-sort.md)
  * [Quick Sort](/leetcode/sort-algorithm/quick-sort.md)
* Stack
  * [1130.Minimum-Cost-Tree-From-Leaf-Values](/leetcode/stack/1130.minimum-cost-tree-from-leaf-values.md)
  * [1249.Minimum-Remove-to-Make-Valid-Parentheses](/leetcode/stack/1249.minimum-remove-to-make-valid-parentheses.md)
  * [379.Design-Phone-Directory](/leetcode/stack/379.design-phone-directory.md)
  * [394.Decode-String](/leetcode/stack/394.decode-string.md)
  * [402.Remove-K-Digits](/leetcode/stack/402.remove-k-digits.md)
  * [456.132-Pattern](/leetcode/stack/456.132-pattern.md)
  * [496.Next-Greater-Element-I](/leetcode/stack/496.next-greater-element-i.md)
  * [503.Next-Greater-Element-II](/leetcode/stack/503.next-greater-element-ii.md)
  * [636.Exclusive-Time-of-Functions](/leetcode/stack/636.exclusive-time-of-functions.md)
  * [71.Simplify-Path](/leetcode/stack/71.simplify-path.md)
  * [739.Daily-Temperatures](/leetcode/stack/739.daily-temperatures.md)
  * [844.Backspace-String-Compare](/leetcode/stack/844.backspace-string-compare.md)
  * [917.Reverse-Only-Letters](/leetcode/stack/917.reverse-only-letters.md)
  * [946.Validate-Stack-Sequences](/leetcode/stack/946.validate-stack-sequences.md)
* [String](/leetcode/string.md)
  * [1055.Shortest-Way-to-Form-String](/leetcode/string/1055.shortest-way-to-form-string.md)
  * [1096.Brace-Expansion-II](/leetcode/string/1096.brace-expansion-ii.md)
  * [1100.Find-K-Length-Substrings-With-No-Repeated-Characters](/leetcode/string/1100.find-k-length-substrings-with-no-repeated-characters.md)
  * [1153.String-Transforms-Into-Another-String](/leetcode/string/1153.string-transforms-into-another-string.md)
  * [12.Integer-to-Roman](/leetcode/string/12.integer-to-roman.md)
  * [125.Valid-Palindrome](/leetcode/string/125.valid-palindrome.md)
  * [151.Reverse-Words-in-a-String](/leetcode/string/151.reverse-words-in-a-string.md)
  * [161.One-Edit-Distance](/leetcode/string/161.one-edit-distance.md)
  * [165.Compare-Version-Numbers](/leetcode/string/165.compare-version-numbers.md)
  * [168.Excel-Sheet-Column-Title](/leetcode/string/168.excel-sheet-column-title.md)
  * [171.Excel-Sheet-Column-Number](/leetcode/string/171.excel-sheet-column-number.md)
  * [205.Isomorphic-Strings](/leetcode/string/205.isomorphic-strings.md)
  * [214.Shortest-Palindrome](/leetcode/string/214.shortest-palindrome.md)
  * [242.Valid-Anagram](/leetcode/string/242.valid-anagram.md)
  * [3.Longest-Substring-Without-Repeating-Characters](/leetcode/string/3.longest-substring-without-repeating-characters.md)
  * [344.Reverse-String](/leetcode/string/344.reverse-string.md)
  * [415.Add-Strings](/leetcode/string/415.add-strings.md)
  * [43.Multiply-Strings](/leetcode/string/43.multiply-strings.md)
  * [443.String-Compression](/leetcode/string/443.string-compression.md)
  * [459.Repeated-Substring-Pattern](/leetcode/string/459.repeated-substring-pattern.md)
  * [482.License-Key-Formatting](/leetcode/string/482.license-key-formatting.md)
  * [5.Longest-Palindromic-Substring](/leetcode/string/5.longest-palindromic-substring.md)
  * [556.Next-Greater-Element-III](/leetcode/string/556.next-greater-element-iii.md)
  * [557.Reverse-Words-in-a-String-III](/leetcode/string/557.reverse-words-in-a-string-iii.md)
  * [567.Permutation-in-String](/leetcode/string/567.permutation-in-string.md)
  * [640.Solve-the-Equation](/leetcode/string/640.solve-the-equation.md)
  * [68.Text-Justification](/leetcode/string/68.text-justification.md)
  * [726.Number-of-Atoms](/leetcode/string/726.number-of-atoms.md)
  * [736.Parse-Lisp-Expression](/leetcode/string/736.parse-lisp-expression.md)
  * [767.Reorganize-String](/leetcode/string/767.reorganize-string.md)
  * [784.Letter-Case-Permutation](/leetcode/string/784.letter-case-permutation.md)
  * [792.Number-of-Matching-Subsequences](/leetcode/string/792.number-of-matching-subsequences.md)
  * [809.Expressive-Words](/leetcode/string/809.expressive-words.md)
  * [819.Most-Common-Word](/leetcode/string/819.most-common-word.md)
  * [833.Find-And-Replace-in-String](/leetcode/string/833.find-and-replace-in-string.md)
* Toposort
  * [1136.Parallel-Courses](/leetcode/toposort/1136.parallel-courses.md)
  * [207.Course-Schedule](/leetcode/toposort/207.course-schedule.md)
  * [210.Course-Schedule-II](/leetcode/toposort/210.course-schedule-ii.md)
  * [269.Alien-Dictionary](/leetcode/toposort/269.alien-dictionary.md)
  * [444.Sequence-Reconstruction](/leetcode/toposort/444.sequence-reconstruction.md)
  * [468.Validate-IP-Address](/leetcode/toposort/468.validate-ip-address.md)
  * [Topological Sorting](/leetcode/toposort/topological-sorting.md)
* Trie Tree
  * [1032.Stream-of-Characters](/leetcode/trie-tree/1032.stream-of-characters.md)
  * [1268.Search-Suggestions-System](/leetcode/trie-tree/1268.search-suggestions-system.md)
  * \[208.Implement-Trie-(Prefix-Tree)]\(Trie-Tree/208.Implement-Trie-(Prefix-Tree).md)
  * [336.Palindrome-Pairs](/leetcode/trie-tree/336.palindrome-pairs.md)
* Two Pointers
  * [1004.Max-Consecutive-Ones-III](/leetcode/two-pointers/1004.max-consecutive-ones-iii.md)
  * [1099.Two-Sum-Less-Than-K](/leetcode/two-pointers/1099.two-sum-less-than-k.md)
  * [159.Longest-Substring-with-At-Most-Two-Distinct-Characters](/leetcode/two-pointers/159.longest-substring-with-at-most-two-distinct-characters.md)
  * [167.Two-Sum-II---Input-array-is-sorted](/leetcode/two-pointers/167.two-sum-ii-input-array-is-sorted.md)
  * [26.Remove-Duplicates-from-Sorted-Array](/leetcode/two-pointers/26.remove-duplicates-from-sorted-array.md)
  * [27.Remove-Element](/leetcode/two-pointers/27.remove-element.md)
  * [340.Longest-Substring-with-At-Most-K-Distinct-Characters](/leetcode/two-pointers/340.longest-substring-with-at-most-k-distinct-characters.md)
  * [42.Trapping-Rain-Water](/leetcode/two-pointers/42.trapping-rain-water.md)
  * [647.Palindromic-Substrings](/leetcode/two-pointers/647.palindromic-substrings.md)
  * [680.Valid-Palindrome-II](/leetcode/two-pointers/680.valid-palindrome-ii.md)
  * [75.Sort-Colors](/leetcode/two-pointers/75.sort-colors.md)
  * [76.Minimum-Window-Substring](/leetcode/two-pointers/76.minimum-window-substring.md)
  * [88.Merge-Sorted-Array](/leetcode/two-pointers/88.merge-sorted-array.md)
  * [Sort Colors Ii](/leetcode/two-pointers/sort-colors-ii.md)
* Union Find
  * [1168.Optimize-Water-Distribution-in-a-Village](/leetcode/union-find/1168.optimize-water-distribution-in-a-village.md)
  * [803.Bricks-Falling-When-Hit](/leetcode/union-find/803.bricks-falling-when-hit.md)
  * [924.Minimize-Malware-Spread](/leetcode/union-find/924.minimize-malware-spread.md)
  * [947.Most-Stones-Removed-with-Same-Row-or-Column](/leetcode/union-find/947.most-stones-removed-with-same-row-or-column.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wentao-shao.gitbook.io/leetcode/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
