## Table of Contents ### Data Structures - [Singly Linked List](src/_DataStructures_/LinkedList) - [N Element From Last](src/_DataStructures_/LinkedList/element-from-last) - [Middle Node](src/_DataStructures_/LinkedList/middle-node) - [Detect Loop](src/_DataStructures_/LinkedList/loop-in-list) - [Reverse Linked List](src/_DataStructures_/LinkedList/reverse-linked-list) - [Stack](src/_DataStructures_/Stack) - [Implement Queue Using Stack](src/_DataStructures_/Stack/immitate-queue-using-stack) - [Baseball Game](src/_DataStructures_/Stack/baseball-game) - [Find minimum in the Stack](src/_DataStructures_/Stack/min-stack) - [Balanced Parenthesis](src/_DataStructures_/Stack/balanced-parenthesis) - [Postfix Expression Evaluation](src/_DataStructures_/Stack/postfix-expression-evaluation) - [Remove Consecutive Repeated Digits](src/_DataStructures_/Stack/remove-consecutive-repeated-digits) - [Implement 2 Stacks using Single Array](src/_DataStructures_/Stack/2-stacks-using1-array) - [Sort a Stack](src/_DataStructures_/Stack/sort-a-stack) - [Queue](src/_DataStructures_/Queue) - [Weave](src/_DataStructures_/Queue/weave) - [Reverse First K Elements of a Queue](src/_DataStructures_/Queue/reverse-first-k) - [Generate all Binary Numbers from 1 to N](src/_DataStructures_/Queue/generate-binary-number) - [Queue using Stack](src/_DataStructures_/Queue/queue-using-stack) - [Doubly Linked List](src/_DataStructures_/DoublyLinkedList) - [Trees](src/_DataStructures_/Trees) - [Binary Tree (creation using level order)](src/_DataStructures_/Trees/BinaryTree) - [Binary Search Tree](src/_DataStructures_/Trees/BinarySearchTree) - [Find k<sup>th</sup> maximum in a BinarySearchTree](src/_DataStructures_/Trees/BinarySearchTree/find-kth-max) - [Find k<sup>th</sup> minimum in a BinarySearchTree](src/_DataStructures_/Trees/BinarySearchTree/find-kth-min) - [Find Ancestors of a Node](src/_DataStructures_/Trees/BinarySearchTree/find-ancestors) - [Find Height of BST](src/_DataStructures_/Trees/BinarySearchTree/height-of-bst) - [Find k Nodes from Root of BST](src/_DataStructures_/Trees/BinarySearchTree/find-k-nodes-from-root) - [Suffix Tree](src/_DataStructures_/SuffixTree) - [Trie](src/_DataStructures_/Trees/Trie) - [Total words count count in a Trie](src/_DataStructures_/Trees/Trie/total-words-in-trie) - [Unique words count in a Trie](src/_DataStructures_/Trees/Trie/unique-word-count) - [All the words from a Trie](src/_DataStructures_/Trees/Trie/all-words-in-trie) - [Unique words in a Trie](src/_DataStructures_/Trees/Trie/get-unique-words) - [Heaps](src/_DataStructures_/Heaps) - [MaxHeap](src/_DataStructures_/Heaps/MaxHeap) ### Logical Problems - [Anagrams](src/_Problems_/anagrams) - [Array Chunk](src/_Problems_/array-chunk) - [Count Vowels](src/_Problems_/count-vowels) - [Find 2 numbers that add upto N](src/_Problems_/find-2-nums-adding-to-n) - [Find 2nd Maxinum from an Array](src/_Problems_/find-2nd-max) - [FizzBuzz](src/_Problems_/fizzbuzz) - [String Permutaions](src/_Problems_/get-string-permutations) - [Get Subsequence](src/_Problems_/get_subsequence) - [Get Maze Path](src/_Problems_/get-mazePath) - [Get longest consecutive 1s](src/_Problems_/max-consecutive-1s) - [Get Max Char](src/_Problems_/maxchar) - [Get Smallest Common Number](src/_Problems_/get-smallest-common-number) - [Merge 2 Sorted Arrays](src/_Problems_/merge-two-sorted-arrays) - [Palindrome](src/_Problems_/palindrome) - [Product of Elements](src/_Problems_/product-of-elements) - [Remove Duplicates](src/_Problems_/remove-duplicates) - [Reverse String](src/_Problems_/reverse_string) - [Maximum Product of Three Numbers](src/_Problems_/max-product-of-3-numbers) - [Next Greater for Every Element in an Array](src/_Problems_/next-greater-element) ### Searching - [Binary Search](src/_Searching_/BinarySearch) ### Algorithms - [LRU Cache](src/_Algorithms_/lru-cache) - Path Finders - [A\*](src/_Algorithms_/path-finder/a-star) ### Classics - [Caeser Cipher](src/_Classics_/caeser_cipher) - [Fibonacci](src/_Classics_/fibonacci)