Skip to content

LewisMagangi/Leetcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeetCode Topics

Math

0009-palindrome-number
0012-integer-to-roman
0013-roman-to-integer
0048-rotate-image
0050-powx-n
0066-plus-one
0067-add-binary
0069-sqrtx
0070-climbing-stairs
0150-evaluate-reverse-polish-notation
0172-factorial-trailing-zeroes
0189-rotate-array
0202-happy-number
0224-basic-calculator
0231-power-of-two
0268-missing-number
0326-power-of-three
0342-power-of-four
0380-insert-delete-getrandom-o1
0412-fizz-buzz
0415-add-strings
1411-convert-binary-number-in-a-linked-list-to-integer
2032-largest-odd-number-in-string
2903-insert-greatest-common-divisors-in-linked-list
3600-find-the-k-th-character-in-string-game-i

String

0003-longest-substring-without-repeating-characters
0005-longest-palindromic-substring
0006-zigzag-conversion
0012-integer-to-roman
0013-roman-to-integer
0014-longest-common-prefix
0017-letter-combinations-of-a-phone-number
0020-valid-parentheses
0022-generate-parentheses
0028-find-the-index-of-the-first-occurrence-in-a-string
0030-substring-with-concatenation-of-all-words
0049-group-anagrams
0058-length-of-last-word
0067-add-binary
0068-text-justification
0071-simplify-path
0072-edit-distance
0076-minimum-window-substring
0097-interleaving-string
0125-valid-palindrome
0139-word-break
0151-reverse-words-in-a-string
0205-isomorphic-strings
0224-basic-calculator
0242-valid-anagram
0290-word-pattern
0344-reverse-string
0345-reverse-vowels-of-a-string
0383-ransom-note
0387-first-unique-character-in-a-string
0389-find-the-difference
0392-is-subsequence
0399-evaluate-division
0409-longest-palindrome
0412-fizz-buzz
0415-add-strings
0451-sort-characters-by-frequency
0680-valid-palindrome-ii
1129-longest-string-chain
1746-largest-substring-between-two-equal-characters
2032-largest-odd-number-in-string
2427-first-letter-to-appear-twice
2476-check-distances-between-same-letters
2886-faulty-keyboard
2887-sort-vowels-in-a-string

Simulation

0054-spiral-matrix
0067-add-binary
0068-text-justification
0289-game-of-life
0412-fizz-buzz
0415-add-strings
2299-merge-nodes-in-between-zeros
2411-spiral-matrix-iv
2886-faulty-keyboard
3600-find-the-k-th-character-in-string-game-i

Hash Table

0001-two-sum
0003-longest-substring-without-repeating-characters
0012-integer-to-roman
0013-roman-to-integer
0017-letter-combinations-of-a-phone-number
0030-substring-with-concatenation-of-all-words
0036-valid-sudoku
0041-first-missing-positive
0049-group-anagrams
0073-set-matrix-zeroes
0076-minimum-window-substring
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0106-construct-binary-tree-from-inorder-and-postorder-traversal
0128-longest-consecutive-sequence
0133-clone-graph
0138-copy-list-with-random-pointer
0139-word-break
0141-linked-list-cycle
0142-linked-list-cycle-ii
0146-lru-cache
0160-intersection-of-two-linked-lists
0169-majority-element
0202-happy-number
0205-isomorphic-strings
0219-contains-duplicate-ii
0229-majority-element-ii
0242-valid-anagram
0268-missing-number
0290-word-pattern
0347-top-k-frequent-elements
0380-insert-delete-getrandom-o1
0383-ransom-note
0387-first-unique-character-in-a-string
0389-find-the-difference
0409-longest-palindrome
0451-sort-characters-by-frequency
0816-design-hashset
0817-design-hashmap
1129-longest-string-chain
1746-largest-substring-between-two-equal-characters
2427-first-letter-to-appear-twice
2442-number-of-arithmetic-triplets
2476-check-distances-between-same-letters

Trie

0014-longest-common-prefix
0139-word-break

Two Pointers

0005-longest-palindromic-substring
0011-container-with-most-water
0015-3sum
0019-remove-nth-node-from-end-of-list
0026-remove-duplicates-from-sorted-array
0028-find-the-index-of-the-first-occurrence-in-a-string
0042-trapping-rain-water
0061-rotate-list
0080-remove-duplicates-from-sorted-array-ii
0082-remove-duplicates-from-sorted-list-ii
0086-partition-list
0088-merge-sorted-array
0125-valid-palindrome
0141-linked-list-cycle
0142-linked-list-cycle-ii
0148-sort-list
0151-reverse-words-in-a-string
0160-intersection-of-two-linked-lists
0167-two-sum-ii-input-array-is-sorted
0189-rotate-array
0202-happy-number
0234-palindrome-linked-list
0287-find-the-duplicate-number
0344-reverse-string
0345-reverse-vowels-of-a-string
0392-is-subsequence
0528-swapping-nodes-in-a-linked-list
0680-valid-palindrome-ii
0908-middle-of-the-linked-list
1129-longest-string-chain
2216-delete-the-middle-node-of-a-linked-list
2320-find-all-k-distant-indices-in-an-array
2442-number-of-arithmetic-triplets

String Matching

0028-find-the-index-of-the-first-occurrence-in-a-string

Sorting

0015-3sum
0049-group-anagrams
0056-merge-intervals
0088-merge-sorted-array
0148-sort-list
0169-majority-element
0215-kth-largest-element-in-an-array
0229-majority-element-ii
0242-valid-anagram
0268-missing-number
0274-h-index
0347-top-k-frequent-elements
0389-find-the-difference
0451-sort-characters-by-frequency
0452-minimum-number-of-arrows-to-burst-balloons
1129-longest-string-chain
2887-sort-vowels-in-a-string

Stack

0020-valid-parentheses
0042-trapping-rain-water
0071-simplify-path
0094-binary-tree-inorder-traversal
0114-flatten-binary-tree-to-linked-list
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0150-evaluate-reverse-polish-notation
0155-min-stack
0173-binary-search-tree-iterator
0224-basic-calculator
0234-palindrome-linked-list

Array

0001-two-sum
0004-median-of-two-sorted-arrays
0011-container-with-most-water
0015-3sum
0026-remove-duplicates-from-sorted-array
0033-search-in-rotated-sorted-array
0034-find-first-and-last-position-of-element-in-sorted-array
0035-search-insert-position
0036-valid-sudoku
0039-combination-sum
0041-first-missing-positive
0042-trapping-rain-water
0045-jump-game-ii
0046-permutations
0048-rotate-image
0049-group-anagrams
0051-n-queens
0054-spiral-matrix
0055-jump-game
0056-merge-intervals
0057-insert-interval
0063-unique-paths-ii
0064-minimum-path-sum
0066-plus-one
0068-text-justification
0073-set-matrix-zeroes
0074-search-a-2d-matrix
0080-remove-duplicates-from-sorted-array-ii
0088-merge-sorted-array
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0106-construct-binary-tree-from-inorder-and-postorder-traversal
0108-convert-sorted-array-to-binary-search-tree
0120-triangle
0121-best-time-to-buy-and-sell-stock
0122-best-time-to-buy-and-sell-stock-ii
0128-longest-consecutive-sequence
0130-surrounded-regions
0134-gas-station
0135-candy
0136-single-number
0137-single-number-ii
0139-word-break
0150-evaluate-reverse-polish-notation
0153-find-minimum-in-rotated-sorted-array
0162-find-peak-element
0167-two-sum-ii-input-array-is-sorted
0169-majority-element
0189-rotate-array
0198-house-robber
0200-number-of-islands
0209-minimum-size-subarray-sum
0215-kth-largest-element-in-an-array
0219-contains-duplicate-ii
0221-maximal-square
0228-summary-ranges
0229-majority-element-ii
0238-product-of-array-except-self
0268-missing-number
0274-h-index
0287-find-the-duplicate-number
0289-game-of-life
0300-longest-increasing-subsequence
0315-count-of-smaller-numbers-after-self
0322-coin-change
0347-top-k-frequent-elements
0373-find-k-pairs-with-smallest-sums
0380-insert-delete-getrandom-o1
0399-evaluate-division
0452-minimum-number-of-arrows-to-burst-balloons
0518-coin-change-ii
0695-max-area-of-island
0816-design-hashset
0817-design-hashmap
1129-longest-string-chain
2320-find-all-k-distant-indices-in-an-array
2411-spiral-matrix-iv
2442-number-of-arithmetic-triplets
2476-check-distances-between-same-letters

Bit Manipulation

0067-add-binary
0136-single-number
0137-single-number-ii
0190-reverse-bits
0201-bitwise-and-of-numbers-range
0222-count-complete-tree-nodes
0231-power-of-two
0268-missing-number
0287-find-the-duplicate-number
0342-power-of-four
0389-find-the-difference
2427-first-letter-to-appear-twice
3600-find-the-k-th-character-in-string-game-i

Dynamic Programming

0005-longest-palindromic-substring
0022-generate-parentheses
0042-trapping-rain-water
0045-jump-game-ii
0055-jump-game
0063-unique-paths-ii
0064-minimum-path-sum
0070-climbing-stairs
0072-edit-distance
0097-interleaving-string
0120-triangle
0121-best-time-to-buy-and-sell-stock
0122-best-time-to-buy-and-sell-stock-ii
0139-word-break
0198-house-robber
0221-maximal-square
0300-longest-increasing-subsequence
0322-coin-change
0392-is-subsequence
0518-coin-change-ii
1129-longest-string-chain

Queue

0387-first-unique-character-in-a-string

Counting

0169-majority-element
0229-majority-element-ii
0347-top-k-frequent-elements
0383-ransom-note
0387-first-unique-character-in-a-string
0451-sort-characters-by-frequency
2427-first-letter-to-appear-twice

Heap (Priority Queue)

0215-kth-largest-element-in-an-array
0347-top-k-frequent-elements
0373-find-k-pairs-with-smallest-sums
0451-sort-characters-by-frequency

Bucket Sort

0347-top-k-frequent-elements
0451-sort-characters-by-frequency

Greedy

0011-container-with-most-water
0045-jump-game-ii
0055-jump-game
0122-best-time-to-buy-and-sell-stock-ii
0134-gas-station
0135-candy
0409-longest-palindrome
0452-minimum-number-of-arrows-to-burst-balloons
0680-valid-palindrome-ii
2032-largest-odd-number-in-string

Binary Search

0004-median-of-two-sorted-arrays
0033-search-in-rotated-sorted-array
0034-find-first-and-last-position-of-element-in-sorted-array
0035-search-insert-position
0069-sqrtx
0074-search-a-2d-matrix
0153-find-minimum-in-rotated-sorted-array
0162-find-peak-element
0167-two-sum-ii-input-array-is-sorted
0209-minimum-size-subarray-sum
0222-count-complete-tree-nodes
0268-missing-number
0287-find-the-duplicate-number
0300-longest-increasing-subsequence
0315-count-of-smaller-numbers-after-self

Divide and Conquer

0004-median-of-two-sorted-arrays
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0106-construct-binary-tree-from-inorder-and-postorder-traversal
0108-convert-sorted-array-to-binary-search-tree
0109-convert-sorted-list-to-binary-search-tree
0148-sort-list
0169-majority-element
0190-reverse-bits
0215-kth-largest-element-in-an-array
0315-count-of-smaller-numbers-after-self
0347-top-k-frequent-elements

Quickselect

0215-kth-largest-element-in-an-array
0347-top-k-frequent-elements

Prefix Sum

0209-minimum-size-subarray-sum
0238-product-of-array-except-self

Matrix

0036-valid-sudoku
0048-rotate-image
0054-spiral-matrix
0063-unique-paths-ii
0064-minimum-path-sum
0073-set-matrix-zeroes
0074-search-a-2d-matrix
0130-surrounded-regions
0200-number-of-islands
0221-maximal-square
0289-game-of-life
0695-max-area-of-island
2411-spiral-matrix-iv

Union Find

0128-longest-consecutive-sequence
0130-surrounded-regions
0200-number-of-islands
0399-evaluate-division
0695-max-area-of-island

Counting Sort

0274-h-index

Design

0146-lru-cache
0155-min-stack
0173-binary-search-tree-iterator
0380-insert-delete-getrandom-o1
0816-design-hashset
0817-design-hashmap

Randomized

0380-insert-delete-getrandom-o1

Monotonic Stack

0042-trapping-rain-water

Sliding Window

0003-longest-substring-without-repeating-characters
0030-substring-with-concatenation-of-all-words
0076-minimum-window-substring
0209-minimum-size-subarray-sum
0219-contains-duplicate-ii

Linked List

0019-remove-nth-node-from-end-of-list
0021-merge-two-sorted-lists
0024-swap-nodes-in-pairs
0025-reverse-nodes-in-k-group
0061-rotate-list
0082-remove-duplicates-from-sorted-list-ii
0086-partition-list
0092-reverse-linked-list-ii
0109-convert-sorted-list-to-binary-search-tree
0114-flatten-binary-tree-to-linked-list
0117-populating-next-right-pointers-in-each-node-ii
0138-copy-list-with-random-pointer
0141-linked-list-cycle
0142-linked-list-cycle-ii
0146-lru-cache
0148-sort-list
0160-intersection-of-two-linked-lists
0203-remove-linked-list-elements
0206-reverse-linked-list
0234-palindrome-linked-list
0237-delete-node-in-a-linked-list
0528-swapping-nodes-in-a-linked-list
0816-design-hashset
0817-design-hashmap
0908-middle-of-the-linked-list
1411-convert-binary-number-in-a-linked-list-to-integer
2216-delete-the-middle-node-of-a-linked-list
2299-merge-nodes-in-between-zeros
2411-spiral-matrix-iv
2903-insert-greatest-common-divisors-in-linked-list

Recursion

0021-merge-two-sorted-lists
0024-swap-nodes-in-pairs
0025-reverse-nodes-in-k-group
0050-powx-n
0203-remove-linked-list-elements
0206-reverse-linked-list
0224-basic-calculator
0231-power-of-two
0234-palindrome-linked-list
0326-power-of-three
0342-power-of-four
3600-find-the-k-th-character-in-string-game-i

Tree

0094-binary-tree-inorder-traversal
0098-validate-binary-search-tree
0100-same-tree
0101-symmetric-tree
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal
0104-maximum-depth-of-binary-tree
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0106-construct-binary-tree-from-inorder-and-postorder-traversal
0108-convert-sorted-array-to-binary-search-tree
0109-convert-sorted-list-to-binary-search-tree
0112-path-sum
0114-flatten-binary-tree-to-linked-list
0117-populating-next-right-pointers-in-each-node-ii
0129-sum-root-to-leaf-numbers
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0173-binary-search-tree-iterator
0199-binary-tree-right-side-view
0222-count-complete-tree-nodes
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst
0236-lowest-common-ancestor-of-a-binary-tree
0530-minimum-absolute-difference-in-bst
0637-average-of-levels-in-binary-tree

Depth-First Search

0094-binary-tree-inorder-traversal
0098-validate-binary-search-tree
0100-same-tree
0101-symmetric-tree
0104-maximum-depth-of-binary-tree
0112-path-sum
0114-flatten-binary-tree-to-linked-list
0117-populating-next-right-pointers-in-each-node-ii
0129-sum-root-to-leaf-numbers
0130-surrounded-regions
0133-clone-graph
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0199-binary-tree-right-side-view
0200-number-of-islands
0207-course-schedule
0210-course-schedule-ii
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst
0236-lowest-common-ancestor-of-a-binary-tree
0399-evaluate-division
0530-minimum-absolute-difference-in-bst
0637-average-of-levels-in-binary-tree
0695-max-area-of-island

Breadth-First Search

0100-same-tree
0101-symmetric-tree
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal
0104-maximum-depth-of-binary-tree
0112-path-sum
0117-populating-next-right-pointers-in-each-node-ii
0130-surrounded-regions
0133-clone-graph
0199-binary-tree-right-side-view
0200-number-of-islands
0207-course-schedule
0210-course-schedule-ii
0226-invert-binary-tree
0322-coin-change
0399-evaluate-division
0530-minimum-absolute-difference-in-bst
0637-average-of-levels-in-binary-tree
0695-max-area-of-island

Binary Tree

0094-binary-tree-inorder-traversal
0098-validate-binary-search-tree
0100-same-tree
0101-symmetric-tree
0102-binary-tree-level-order-traversal
0103-binary-tree-zigzag-level-order-traversal
0104-maximum-depth-of-binary-tree
0105-construct-binary-tree-from-preorder-and-inorder-traversal
0106-construct-binary-tree-from-inorder-and-postorder-traversal
0108-convert-sorted-array-to-binary-search-tree
0109-convert-sorted-list-to-binary-search-tree
0112-path-sum
0114-flatten-binary-tree-to-linked-list
0117-populating-next-right-pointers-in-each-node-ii
0129-sum-root-to-leaf-numbers
0144-binary-tree-preorder-traversal
0145-binary-tree-postorder-traversal
0173-binary-search-tree-iterator
0199-binary-tree-right-side-view
0222-count-complete-tree-nodes
0226-invert-binary-tree
0230-kth-smallest-element-in-a-bst
0236-lowest-common-ancestor-of-a-binary-tree
0530-minimum-absolute-difference-in-bst
0637-average-of-levels-in-binary-tree

Doubly-Linked List

0146-lru-cache

Hash Function

0816-design-hashset
0817-design-hashmap

Binary Search Tree

0098-validate-binary-search-tree
0108-convert-sorted-array-to-binary-search-tree
0109-convert-sorted-list-to-binary-search-tree
0173-binary-search-tree-iterator
0230-kth-smallest-element-in-a-bst
0530-minimum-absolute-difference-in-bst

Number Theory

2903-insert-greatest-common-divisors-in-linked-list

Backtracking

0017-letter-combinations-of-a-phone-number
0022-generate-parentheses
0039-combination-sum
0046-permutations
0051-n-queens
0052-n-queens-ii
0077-combinations

Graph

0133-clone-graph
0207-course-schedule
0210-course-schedule-ii
0399-evaluate-division

Shortest Path

0399-evaluate-division

Topological Sort

0207-course-schedule
0210-course-schedule-ii

Iterator

0173-binary-search-tree-iterator

Memoization

0070-climbing-stairs
0139-word-break

Merge Sort

0148-sort-list
0315-count-of-smaller-numbers-after-self

Enumeration

2442-number-of-arithmetic-triplets

Binary Indexed Tree

0315-count-of-smaller-numbers-after-self

Segment Tree

0315-count-of-smaller-numbers-after-self

Ordered Set

0315-count-of-smaller-numbers-after-self

About

Leetcoding

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published