Patterns Index ============== Browse all solutions. Use the dropdowns to filter by difficulty or pattern. .. list-table:: :header-rows: 1 :class: sphinx-datatable :widths: auto * - Solution - Difficulty - Pattern * - :doc:`Add Binary ` - 🟢 Easy - Math, String, Bit Manipulation, Simulation * - :doc:`Add Two Numbers ` - 🟡 Medium - Linked List, Math, Recursion * - :doc:`Best Time To Buy And Sell Stock ` - 🟢 Easy - Array, Dynamic Programming * - :doc:`Binary Tree Inorder Traversal ` - 🟢 Easy - Stack, Tree, Depth-First Search, Binary Tree * - :doc:`Binary Tree Level Order Traversal ` - 🟡 Medium - Tree, Breadth-First Search, Binary Tree * - :doc:`Binary Tree Zigzag Level Order Traversal ` - 🟡 Medium - Tree, Breadth-First Search, Binary Tree * - :doc:`Bitwise AND Of Numbers Range ` - 🟡 Medium - Bit Manipulation * - :doc:`Climbing Stairs ` - 🟢 Easy - Math, Dynamic Programming, Memoization * - :doc:`Construct Binary Tree From Preorder And Inorder Traversal ` - 🟡 Medium - Array, Hash Table, Divide and Conquer, Tree, Binary Tree * - :doc:`Container With Most Water ` - 🟡 Medium - Array, Two Pointers, Greedy * - :doc:`Contains Duplicate II ` - 🟢 Easy - Array, Hash Table, Sliding Window * - :doc:`Convert Sorted Array To BST ` - 🟢 Easy - Array, Divide and Conquer, Tree, Binary Search Tree, Binary Tree * - :doc:`Count And Say ` - 🟡 Medium - String * - :doc:`Count Primes ` - 🟡 Medium - Array, Math, Enumeration, Number Theory * - :doc:`Delete Node In A Linked List ` - 🟡 Medium - Linked List * - :doc:`Divide Two Integers ` - 🟡 Medium - Math, Bit Manipulation * - :doc:`Find First And Last Position Of Element In Sorted Array ` - 🟡 Medium - Array, Binary Search * - :doc:`Find The Index Of The First Occurrence In A String ` - 🟢 Easy - Two Pointers, String, String Matching * - :doc:`First Unique Character In A String ` - 🟢 Easy - Hash Table, String, Queue, Counting * - :doc:`Fizz Buzz ` - 🟢 Easy - Math, String, Simulation * - :doc:`Game Of Life ` - 🟡 Medium - Array, Matrix, Simulation * - :doc:`Gas Station ` - 🟡 Medium - Array, Greedy * - :doc:`Generate Parentheses ` - 🟡 Medium - String, Dynamic Programming, Backtracking * - :doc:`Group Anagrams ` - 🟡 Medium - Array, Hash Table, String, Sorting * - :doc:`H Index ` - 🟡 Medium - Array, Sorting, Counting Sort * - :doc:`Happy Number ` - 🟢 Easy - Hash Table, Math, Two Pointers * - :doc:`Insert Delete Get Random O1 ` - 🟡 Medium - Array, Hash Table, Math, Design, Randomized * - :doc:`Integer To Roman ` - 🟡 Medium - Hash Table, Math, String * - :doc:`Intersection Of Two Arrays II ` - 🟢 Easy - Array, Hash Table, Two Pointers, Binary Search, Sorting * - :doc:`Intersection Of Two Linked Lists ` - 🟢 Easy - Hash Table, Linked List, Two Pointers * - :doc:`Invert Binary Tree ` - 🟢 Easy - Tree, Depth-First Search, Breadth-First Search, Binary Tree * - :doc:`Is Subsequence ` - 🟢 Easy - Two Pointers, String, Dynamic Programming * - :doc:`Isomorphic Strings ` - 🟢 Easy - Hash Table, String * - :doc:`Jump Game ` - 🟡 Medium - Array, Dynamic Programming, Greedy * - :doc:`LRU Cache ` - 🟡 Medium - Hash Table, Linked List, Design, Doubly-Linked List * - :doc:`Length Of Last Word ` - 🟢 Easy - String * - :doc:`Length Of Longest Substring ` - 🟡 Medium - Hash Table, String, Sliding Window * - :doc:`Letter Combinations Of A Phone Number ` - 🟡 Medium - Hash Table, String, Backtracking * - :doc:`Linked List Cycle ` - 🟢 Easy - Hash Table, Linked List, Two Pointers * - :doc:`Longest Common Prefix ` - 🟢 Easy - Array, String, Trie * - :doc:`Longest Palindromic Substring ` - 🟡 Medium - Two Pointers, String, Dynamic Programming * - :doc:`Majority Element ` - 🟢 Easy - Array, Hash Table, Divide and Conquer, Sorting, Counting * - :doc:`Maximum Depth Of Binary Tree ` - 🟢 Easy - Tree, Depth-First Search, Breadth-First Search, Binary Tree * - :doc:`Maximum Subarray ` - 🟡 Medium - Array, Divide and Conquer, Dynamic Programming * - :doc:`Merge Intervals ` - 🟡 Medium - Array, Sorting * - :doc:`Merge K Sorted Lists ` - 🔴 Hard - Linked List, Divide and Conquer, Heap (Priority Queue), Merge Sort * - :doc:`Merge Sorted Array ` - 🟢 Easy - Array, Two Pointers, Sorting * - :doc:`Merge Two Sorted Lists ` - 🟢 Easy - Linked List, Recursion * - :doc:`Missing Number ` - 🟢 Easy - Array, Hash Table, Math, Binary Search, Bit Manipulation, Sorting * - :doc:`Palindrome Linked List ` - 🟢 Easy - Linked List, Two Pointers, Stack, Recursion * - :doc:`Palindrome Number ` - 🟢 Easy - Math * - :doc:`Pascals Triangle ` - 🟢 Easy - Array, Dynamic Programming * - :doc:`Permutations ` - 🟡 Medium - Array, Backtracking * - :doc:`Plus One ` - 🟢 Easy - Array, Math * - :doc:`Pow ` - 🟡 Medium - Math, Recursion * - :doc:`Power Of Three ` - 🟢 Easy - Math, Recursion * - :doc:`Product Of Array Except Self ` - 🟡 Medium - Array, Prefix Sum * - :doc:`Ransom Note ` - 🟢 Easy - Hash Table, String, Counting * - :doc:`Remove Duplicates From Sorted Array II ` - 🟡 Medium - Array, Two Pointers * - :doc:`Remove Element ` - 🟢 Easy - Array, Two Pointers * - :doc:`Remove Nth Node From End Of List ` - 🟡 Medium - Linked List, Two Pointers * - :doc:`Reverse Integer ` - 🟡 Medium - Math * - :doc:`Reverse Linked List ` - 🟢 Easy - Linked List, Recursion * - :doc:`Reverse String ` - 🟢 Easy - Two Pointers, String * - :doc:`Reverse Words In A String ` - 🟡 Medium - Two Pointers, String * - :doc:`Roman To Integer ` - 🟢 Easy - Hash Table, Math, String * - :doc:`Rotate Image ` - 🟡 Medium - Array, Math, Matrix * - :doc:`Same Tree ` - 🟢 Easy - Tree, Depth-First Search, Breadth-First Search, Binary Tree * - :doc:`Search In Rotated Array ` - 🟡 Medium - Array, Binary Search * - :doc:`Set Matrix Zeroes ` - 🟡 Medium - Array, Hash Table, Matrix * - :doc:`Single Number II ` - 🟡 Medium - Array, Bit Manipulation * - :doc:`Sort List ` - 🟡 Medium - Linked List, Two Pointers, Divide and Conquer, Sorting, Merge Sort * - :doc:`Sqrtx ` - 🟢 Easy - Math, Binary Search * - :doc:`String To Integer ` - 🟡 Medium - String * - :doc:`Subsets ` - 🟡 Medium - Array, Backtracking, Bit Manipulation * - :doc:`Summary Ranges ` - 🟢 Easy - Array * - :doc:`Symmetric Tree ` - 🟢 Easy - Tree, Depth-First Search, Breadth-First Search, Binary Tree * - :doc:`Three Sum ` - 🟡 Medium - Array, Two Pointers, Sorting * - :doc:`Tries ` - 🟡 Medium - Trie * - :doc:`Two Sum ` - 🟢 Easy - Array, Hash Table * - :doc:`Two Sum II ` - 🟡 Medium - Array, Two Pointers, Binary Search * - :doc:`Valid Anagram ` - 🟢 Easy - Hash Table, String, Sorting * - :doc:`Valid Palindrome ` - 🟢 Easy - Two Pointers, String * - :doc:`Valid Parentheses ` - 🟢 Easy - String, Stack * - :doc:`Valid Sudoku ` - 🟡 Medium - Array, Hash Table, Matrix * - :doc:`Word Pattern ` - 🟢 Easy - Hash Table, String * - :doc:`Zig Zag Conversion ` - 🟡 Medium - String