# Leetcode

- [Tree](/coding/exercises/leetcode/tree.md)
- [Lowest Common Ancestor (LCA)](/coding/exercises/leetcode/tree/lowest-common-ancestor-lca.md): Given two nodes of a binary tree, return their Lowest Common Ancestor (LCA). LCA is a node within a tree T is the lowest node that has both p and q as descendants.
- [Arrays](/coding/exercises/leetcode/arrays.md)
- [Duplicate Zeros](/coding/exercises/leetcode/arrays/duplicate-zeros.md)
- [Merge Sorted Array](/coding/exercises/leetcode/arrays/merge-sorted-array.md)
- [Detect Pattern of Length M Repeated K or More Times](/coding/exercises/leetcode/arrays/detect-pattern-of-length-m-repeated-k-or-more-times.md)
- [Linked List](/coding/exercises/leetcode/linked-list.md)
- [Single LinkedList](/coding/exercises/leetcode/linked-list/single-linkedlist.md)
- [Double LinkedList](/coding/exercises/leetcode/linked-list/double-linkedlist.md)
- [Add Two Numbers](/coding/exercises/leetcode/linked-list/add-two-numbers.md)
- [Middle of the LinkedList](/coding/exercises/leetcode/linked-list/middle-of-the-linkedlist.md)
- [Remove Nth Node From End of List](/coding/exercises/leetcode/linked-list/remove-nth-node-from-end-of-list.md)
- [Map & Set](/coding/exercises/leetcode/map-and-set.md)
- [Two Sum](/coding/exercises/leetcode/map-and-set/two-sum.md)
- [Contains Duplicate](/coding/exercises/leetcode/map-and-set/contains-duplicate.md)
- [Deque](/coding/exercises/leetcode/deque.md)
- [Valid Palindrome](/coding/exercises/leetcode/deque/valid-palindrome.md)
- [String](/coding/exercises/leetcode/string.md)
- [Atoi](/coding/exercises/leetcode/string/atoi.md)
- [Sorting](/coding/exercises/leetcode/sorting.md)
- [Minimum Deletions to Make Character Frequencies Unique](/coding/exercises/leetcode/sorting/minimum-deletions-to-make-character-frequencies-unique.md)
- [Graph](/coding/exercises/leetcode/graph.md)
- [Find if Path Exist in Graph](/coding/exercises/leetcode/graph/find-if-path-exist-in-graph.md)
- [Greedy](/coding/exercises/leetcode/greedy.md)
- [Minimum Sum of Four Digit Number After Splitting Digits](/coding/exercises/leetcode/greedy/minimum-sum-of-four-digit-number-after-splitting-digits.md)
- [Binary Search](/coding/exercises/leetcode/binary-search.md)
- [Binary Search](/coding/exercises/leetcode/binary-search/binary-search.md)
- [First Bad Version](/coding/exercises/leetcode/binary-search/first-bad-version.md)
- [Search Insert Position](/coding/exercises/leetcode/binary-search/search-insert-position.md)
- [Dynamic Programming](/coding/exercises/leetcode/dynamic-programming.md)
- [Maximum Subarray](/coding/exercises/leetcode/dynamic-programming/maximum-subarray.md)
- [Math](/coding/exercises/leetcode/math.md)
- [Rotate Array](/coding/exercises/leetcode/math/rotate-array.md)
- [Convert Integer to the Sum of Two No-Zero Integers](/coding/exercises/leetcode/math/convert-integer-to-the-sum-of-two-no-zero-integers.md)
