# Algorithms

## Algorithms

- [Introduction](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/master.md)
- [Analysis of Algorithms](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/analysis-of-algorithms.md)
- [Numbers](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/numbers.md)
- [Reverse Integer](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/numbers/reverse-integer.md)
- [Palindroms](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/numbers/palindroms.md)
- [Valid Palindrome](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/numbers/palindroms/valid-palindrome.md)
- [Prime factor](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/numbers/prime-factor.md)
- [Prime Number](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/numbers/prime-number.md)
- [Roman to Integer](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/numbers/roman-to-integer.md)
- [Happy Number](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/numbers/happy-number.md)
- [p^k](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/numbers/pk.md)
- [Searching](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding.md)
- [Union-Find Algorithms](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/union-find-algorithms.md)
- [Finding Peak](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/finding-peak.md)
- [Find Sum in Array](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/find-sum-in-array.md)
- [Binary Search](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search.md)
- [Find Index Binary Search](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/find-index-binary-search.md)
- [Sqrt(x)](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/sqrtx.md)
- [Search in Rotated Sorted Array](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/search-in-rotated-sorted-array.md)
- [Guess Number Higher or Lower](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/guess-number-higher-or-lower.md)
- [First Bad Version](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/first-bad-version.md)
- [Find Peak Element](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/find-peak-element.md)
- [Find Minimum in Rotated Sorted Array](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/find-minimum-in-rotated-sorted-array.md)
- [Find Minimum in Rotated Sorted Array II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/find-minimum-in-rotated-sorted-array-ii.md)
- [Search for a Range](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/search-for-a-range.md)
- [Closest Binary Search Tree Value](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/closest-binary-search-tree-value.md)
- [Find K Closest Elements](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/find-k-closest-elements.md)
- [Search in a Sorted Array of Unknown Size](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/search-in-a-sorted-array-of-unknown-size.md)
- [Pow(x, n)](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/powx-n.md)
- [Valid Perfect Square](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/valid-perfect-square.md)
- [Find Minimum in Rotated Sorted Array II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/find-minimum-in-rotated-sorted-array-ii-1.md)
- [Intersection of Two Arrays](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/intersection-of-two-arrays.md)
- [Intersection of Two Arrays II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/intersection-of-two-arrays-ii.md)
- [Two Sum II - Input array is sorted](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/two-sum-ii-input-array-is-sorted.md)
- [Find the Duplicate Number](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/binary-search/find-the-duplicate-number.md)
- [Longest Common Prefix](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/finding/longest-common-prefix.md)
- [Sorting](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/sorting.md)
- [Elementary Sorts](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/sorting/elementary-sorts.md)
- [Insertion Sort](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/sorting/insertion-sort.md)
- [Bubble Sort](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/sorting/bubble-sort.md)
- [Mergesort](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/sorting/merge-sort.md)
- [Quicksort](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/sorting/quicksort.md)
- [Radix Sort](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/sorting/radix-sort.md)
- [Heap Sort](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/sorting/heap-sort.md)
- [Data Structures](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures.md)
- [Array & List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array.md)
- [Find Pivot Index](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/find-pivot-index.md)
- [Largest Number At Least Twice of Others](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/largest-number-at-least-twice-of-others.md)
- [Plus One](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/plus-one.md)
- [Diagonal Traverse](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/diagonal-traverse.md)
- [Spiral Matrix](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/spiral-matrix.md)
- [Pascal's Triangle](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/pascals-triangle.md)
- [Implement strStr()](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/implement-strstr.md)
- [Add Binary](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/add-binary.md)
- [Duplicate Counts](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/duplicate-counts.md)
- [Find Duplicates](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/find-duplicates.md)
- [Reverse String](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/reverse-string.md)
- [Array Partition I](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/array-partition-i.md)
- [Two Sum II - Input array is sorted](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/two-sum-ii-input-array-is-sorted.md)
- [Remove Element](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/remove-element.md)
- [Max Consecutive Ones](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/max-consecutive-ones.md)
- [Minimum Size Subarray Sum](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/minimum-size-subarray-sum.md)
- [Reverse Words in a String](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/reverse-words-in-a-string.md)
- [Reverse Words in a String III](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/reverse-words-in-a-string-iii.md)
- [Remove Duplicates from Sorted Array](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/remove-duplicates-from-sorted-array.md)
- [Move Zeroes](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/move-zeroes.md)
- [Rotate Array](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/rotate-array.md)
- [Rotate Image](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/rotate-image.md)
- [Best Time to Buy and Sell Stock](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/best-time-to-buy-and-sell-stock.md)
- [Best Time to Buy and Sell Stock II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/best-time-to-buy-and-sell-stock-ii.md)
- [Valid Anagram](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/valid-anagram.md)
- [3Sum](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/3sum.md)
- [String to Integer (atoi)](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/string-to-integer-atoi.md)
- [Count and Say](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/count-and-say.md)
- [Merge Sorted Array](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/merge-sorted-array.md)
- [Shuffle an Array](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/shuffle-an-array.md)
- [Max Area of Island](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/array/max-area-of-island.md)
- [Matrix](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/matrix.md)
- [Stack](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/stack.md)
- [Valid Parentheses](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/stack/valid-parentheses.md)
- [Min Stack](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/stack/min-stack.md)
- [Queue](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/queue.md)
- [Linked List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list.md)
- [Design Linked List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/design-linked-list.md)
- [Design Doubly Linked List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/design-doubly-linked-list.md)
- [Find Middle Element](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/find-middle-element.md)
- [Doubly Linked List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/doubly-linked-list.md)
- [Cyclic Linked List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/cyclic-linked-list.md)
- [Linked List Cycle II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/linked-list-cycle-ii.md)
- [Find Nth Element from End](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/find-nth-element-from-end.md)
- [Remove Nth Node From End of List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/remove-nth-node-from-end-of-list.md)
- [Add Two Numbers](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/add-two-numbers.md)
- [Merge Two Sorted Lists](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/merge-two-sorted-lists.md)
- [Remove Nth Node From End of List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/remove-nth-node-from-end-of-list-1.md)
- [Reverse Linked List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/reverse-linked-list.md)
- [Remove Linked List Elements](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/remove-linked-list-elements.md)
- [Odd Even Linked List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/odd-even-linked-list.md)
- [Design Doubly Linked List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/design-doubly-linked-list-1.md)
- [Flatten a Multilevel Doubly Linked List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/flatten-a-multilevel-doubly-linked-list.md)
- [Rotate List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/rotate-list.md)
- [Copy List with Random Pointer](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/copy-list-with-random-pointer.md)
- [Insert into a Cyclic Sorted List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/insert-into-a-cyclic-sorted-list.md)
- [Delete Node in a Linked List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/delete-node-in-a-linked-list.md)
- [Palindrome Linked List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/linked-list/palindrome-linked-list.md)
- [Set](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/hash-table.md)
- [Intersection of Two Arrays](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/hash-table/intersection-of-two-arrays.md)
- [Single Number](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/hash-table/single-number.md)
- [Contains Duplicate](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/hash-table/contains-duplicate.md)
- [Contains Duplicate II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/hash-table/contains-duplicate-ii.md)
- [Jewels and Stones](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/hash-table/jewels-and-stones.md)
- [Longest Substring Without Repeating Characters](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/hash-table/longest-substring-without-repeating-characters.md)
- [Two Sum III - Data structure design](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/hash-table/two-sum-iii-data-structure-design.md)
- [Valid Sudoku](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/hash-table/valid-sudoku.md)
- [Missing Number](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/hash-table/missing-number.md)
- [Map](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map.md)
- [Two Sum](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/two-sum.md)
- [Isomorphic Strings](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/isomorphic-strings.md)
- [Minimum Index Sum of Two Lists](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/minimum-index-sum-of-two-lists.md)
- [First Unique Character in a String](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/first-unique-character-in-a-string.md)
- [Intersection of Two Arrays II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/intersection-of-two-arrays-ii.md)
- [Logger Rate Limiter](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/logger-rate-limiter.md)
- [Group Anagrams](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/group-anagrams.md)
- [Group Shifted Strings](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/group-shifted-strings.md)
- [Find Duplicate Subtrees](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/find-duplicate-subtrees.md)
- [4Sum II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/4sum-ii.md)
- [Top K Frequent Elements](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/top-k-frequent-elements.md)
- [Unique Word Abbreviation](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/unique-word-abbreviation.md)
- [Insert Delete GetRandom O(1)](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map/insert-delete-getrandom-o1.md)
- [Binary Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree.md)
- [Binary Tree Preorder Traversal](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/binary-tree-preorder-traversal.md)
- [Binary Tree Inorder Traversal](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/binary-tree-inorder-traversal.md)
- [Binary Tree Postorder Traversal](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/binary-tree-postorder-traversal.md)
- [Binary Tree Level Order Traversal](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/binary-tree-level-order-traversal.md)
- [Maximum Depth of Binary Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/maximum-depth-of-binary-tree.md)
- [Symmetric Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/symmetric-tree.md)
- [Path Sum](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/path-sum.md)
- [Balanced Binary Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/balanced-binary-tree.md)
- [Count Univalue Subtrees](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/count-univalue-subtrees.md)
- [Construct Binary Tree from Inorder and Postorder Traversal](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/construct-binary-tree-from-inorder-and-postorder-traversal.md)
- [Construct Binary Tree from Preorder and Inorder Traversal](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/construct-binary-tree-from-preorder-and-inorder-traversal.md)
- [Populating Next Right Pointers in Each Node](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/populating-next-right-pointers-in-each-node.md)
- [Lowest Common Ancestor of a Binary Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/lowest-common-ancestor-of-a-binary-tree.md)
- [Serialize and Deserialize Binary Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/serialize-and-deserialize-binary-tree-go-to-discuss.md)
- [Median of Two Sorted Arrays](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/median-of-two-sorted-arrays.md)
- [Invert Binary Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/invert-binary-tree.md)
- [Find K-th Smallest Pair Distance](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/find-k-th-smallest-pair-distance.md)
- [Split Array Largest Sum](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-tree/split-array-largest-sum.md)
- [Heap](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/heap.md)
- [Binary Search Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree.md)
- [Validate Binary Search Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree/validate-binary-search-tree.md)
- [Inorder Successor in BST](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree/inorder-successor-in-bst.md)
- [Binary Search Tree Iterator](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree/binary-search-tree-iterator.md)
- [Search in a Binary Search Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree/search-in-a-binary-search-tree.md)
- [Insert into a Binary Search Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree/insert-into-a-binary-search-tree.md)
- [Delete Node in a BST](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree/delete-node-in-a-bst.md)
- [Kth Largest Element in a Stream](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree/kth-largest-element-in-a-stream.md)
- [Lowest Common Ancestor of a Binary Search Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree/lowest-common-ancestor-of-a-binary-search-tree.md)
- [Contains Duplicate III](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree/contains-duplicate-iii.md)
- [Height-Balanced BST](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree/height-balanced-bst.md)
- [Balanced Binary Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree/height-balanced-bst/balanced-binary-tree.md)
- [Convert Sorted Array to Binary Search Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/binary-search-tree/height-balanced-bst/convert-sorted-array-to-binary-search-tree.md)
- [Map](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/map-1.md)
- [N-ary Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/n-ary-tree.md)
- [N-ary Tree Preorder Traversal](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/n-ary-tree/n-ary-tree-preorder-traversal.md)
- [N-ary Tree Postorder Traversal](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/n-ary-tree/n-ary-tree-postorder-traversal.md)
- [N-ary Tree Level Order Traversal](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/n-ary-tree/n-ary-tree-level-order-traversal.md)
- [Maximum Depth of N-ary Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/n-ary-tree/maximum-depth-of-n-ary-tree.md)
- [Encode N-ary Tree to Binary Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/n-ary-tree/encode-n-ary-tree-to-binary-tree.md)
- [Serialize and Deserialize N-ary Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/n-ary-tree/serialize-and-deserialize-n-ary-tree.md)
- [Trie](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/trie.md)
- [Implement Trie (Prefix Tree)](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/trie/implement-trie-prefix-tree.md)
- [Map Sum Pairs](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/trie/map-sum-pairs.md)
- [Replace Words](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/trie/replace-words.md)
- [Design Search Autocomplete System](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/trie/design-search-autocomplete-system.md)
- [Maximum XOR of Two Numbers in an Array](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/trie/maximum-xor-of-two-numbers-in-an-array.md)
- [Add and Search Word - Data structure design](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/trie/add-and-search-word-data-structure-design.md)
- [Word Search II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/trie/word-search-ii.md)
- [Word Squares](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/trie/word-squares.md)
- [Longest Common Prefix](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/trie/longest-common-prefix.md)
- [Palindrome Pairs](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/trie/palindrome-pairs.md)
- [Balanced Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/balanced-tree.md)
- [B-Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/balanced-tree/b-tree.md)
- [Red-black Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/balanced-tree/red-black-tree.md)
- [AVL Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/balanced-tree/avl-tree.md)
- [Graph](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/graph.md)
- [A\* Search](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/graph/a-search.md)
- [Breadth First Search](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/graph/breadth-first-search.md)
- [Depth First Search](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/graph/depth-first-search.md)
- [Dijkstra Algorithm](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/data-structures/graph/dijkstra-algorithm.md)
- [Sequences](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/sequences.md)
- [Fibonacci Sequence](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/sequences/fibonacci-sequence.md)
- [Dynamic Programming](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/dynamic-programmimg.md)
- [Knapsack problem](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/dynamic-programmimg/knapsack-problem.md)
- [Climbing Stairs](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/dynamic-programmimg/climbing-stairs.md)
- [Best Time to Buy and Sell Stock](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/dynamic-programmimg/best-time-to-buy-and-sell-stock.md)
- [Maximum Subarray](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/dynamic-programmimg/maximum-subarray.md)
- [House Robber](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/dynamic-programmimg/house-robber.md)
- [Interviews](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews.md)
- [Google Leetcode](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode.md)
- [Repeated String Match](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/repeated-string-match.md)
- [K Empty Slots](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/k-empty-slots.md)
- [Next Closest Time](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/next-closest-time.md)
- [Longest Univalue Path](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/longest-univalue-path.md)
- [License Key Formatting](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/license-key-formatting.md)
- [Spiral Matrix](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/spiral-matrix.md)
- [Plus One](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/plus-one.md)
- [Trapping Rain Water](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/trapping-rain-water.md)
- [Longest Substring with At Most K Distinct Characters](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/longest-substring-with-at-most-k-distinct-characters.md)
- [Add Bold Tag in String](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/add-bold-tag-in-string.md)
- [Game of Life](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/game-of-life.md)
- [Read N Characters Given Read4](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/read-n-characters-given-read4.md)
- [Read N Characters Given Read4 II - Call multiple times](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/read-n-characters-given-read4-ii-call-multiple-times.md)
- [One Edit Distance](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/one-edit-distance.md)
- [Valid Palindrome](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/valid-palindrome.md)
- [Valid Number](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/valid-number.md)
- [Valid Parentheses](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/valid-parentheses.md)
- [Image Smoother](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/image-smoother.md)
- [Intersection of Two Arrays](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/intersection-of-two-arrays.md)
- [Max Consecutive Ones](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/max-consecutive-ones.md)
- [Max Consecutive Ones II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/max-consecutive-ones-ii.md)
- [Shortest Palindrome](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/shortest-palindrome.md)
- [First Missing Positive](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/first-missing-positive.md)
- [First Unique Character in a String](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/first-unique-character-in-a-string.md)
- [Move Zeroes](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/move-zeroes.md)
- [Remove Duplicates from Sorted Array](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/remove-duplicates-from-sorted-array.md)
- [Merge k Sorted Lists](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/merge-k-sorted-lists.md)
- [Insert into a Cyclic Sorted List](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/insert-into-a-cyclic-sorted-list.md)
- [Evaluate Division](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/evaluate-division.md)
- [Inorder Successor in BST](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/inorder-successor-in-bst.md)
- [Robot Room Cleaner](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/robot-room-cleaner.md)
- [Redundant Connection II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/redundant-connection-ii.md)
- [Course Schedule](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/course-schedule.md)
- [Validate Binary Search Tree](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/validate-binary-search-tree.md)
- [Closest Binary Search Tree Value](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/closest-binary-search-tree-value.md)
- [Word Squares](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/word-squares.md)
- [Strobogrammatic Number II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/strobogrammatic-number-ii.md)
- [Word Search II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/word-search-ii.md)
- [Android Unlock Patterns](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/android-unlock-patterns.md)
- [Minimum Window Substring](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/minimum-window-substring.md)
- [Kth Largest Element in an Array](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/kth-largest-element-in-an-array.md)
- [Shortest Distance from All Buildings](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/shortest-distance-from-all-buildings.md)
- [Find K-th Smallest Pair Distance](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/find-k-th-smallest-pair-distance.md)
- [Find K Pairs with Smallest Sums](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/find-k-pairs-with-smallest-sums.md)
- [Range Module](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/range-module.md)
- [Insert Interval](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/insert-interval.md)
- [Sort Transformed Array](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/sort-transformed-array.md)
- [Merge Intervals](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/merge-intervals.md)
- [Longest Palindromic Substring](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/longest-palindromic-substring.md)
- [Next Greater Element I](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/next-greater-element-i.md)
- [Pacific Atlantic Water Flow](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/pacific-atlantic-water-flow.md)
- [Evaluate Reverse Polish Notation](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/evaluate-reverse-polish-notation.md)
- [Decode Ways](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/decode-ways.md)
- [Word Break](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/word-break.md)
- [Sentence Screen Fitting](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/sentence-screen-fitting.md)
- [Maximum Vacation Days](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/maximum-vacation-days.md)
- [Edit Distance](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/edit-distance.md)
- [Minimum Path Sum](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/minimum-path-sum.md)
- [House Robber II](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/house-robber-ii.md)
- [Moving Average from Data Stream](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/moving-average-from-data-stream.md)
- [Peeking Iterator](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/peeking-iterator.md)
- [Binary Search Tree Iterator](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/binary-search-tree-iterator.md)
- [Zigzag Iterator](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/zigzag-iterator.md)
- [Design Tic-Tac-Toe](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/design-tic-tac-toe.md)
- [Range Sum Query 2D - Mutable](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/range-sum-query-2d-mutable.md)
- [UTF-8 Validation](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/utf-8-validation.md)
- [Maximum Product of Word Lengths](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/interviews/google-leetcode/maximum-product-of-word-lengths.md)
- [Other](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/other.md)
- [Game of Life](https://ondrej-kvasnovsky-2.gitbook.io/algorithms/other/game-of-life.md)
