132 Pattern |
Stack |
Medium |
3Sum |
Array |
Medium |
3Sum Closest |
Array |
Medium |
4Sum |
Greedy |
Medium |
4Sum II |
Hash |
Medium |
A data structure with insert/remove/random in O(1) |
Design |
Medium |
Add and Search Word - Data structure design |
Backtracking |
Medium |
Add Binary |
Math |
Easy |
Add Digits |
Math |
Easy |
Add Strings |
Math |
Easy |
Add Two Numbers |
Math |
Easy |
Add Two Numbers II |
Linklist |
Medium |
Additive Number |
Math |
Medium |
All O`one Data Structure |
Design |
Hard |
Anagrams |
Hash |
Medium |
Arithmetic Slices |
Dynamic Programming |
Medium |
Arithmetic Slices II - Subsequence |
Dynamic Programming |
Hard |
Arranging Coins |
Search |
Easy |
Assign Cookies |
Greedy |
Easy |
Balanced Binary Tree |
Tree |
Medium |
Basic Calculator |
Stack |
Hard |
Basic Calculator II |
String |
Medium |
Battleships in a Board |
Math |
Medium |
Best Time to Buy and Sell Stock |
Dynamic Programming |
Easy |
Best Time to Buy and Sell Stock II |
Greedy |
Medium |
Best Time to Buy and Sell Stock III |
Dynamic Programming |
Hard |
Best Time to Buy and Sell Stock IV |
Dynamic Programming |
Hard |
Best Time to Buy and Sell Stock with Cooldown |
Dynamic Programming |
Medium |
Binary Search Tree Iterator |
Tree |
Medium |
Binary Tree Inorder Traversal |
Tree |
Medium |
Binary Tree Level Order Traversal |
Tree |
Medium |
Binary Tree Level Order Traversal II |
Tree |
Medium |
Binary Tree Maximum Path Sum |
Tree |
Hard |
Binary Tree Paths |
Tree |
Easy |
Binary Tree Post Order Traversal |
Tree |
Medium |
Binary Tree Preorder Traversal |
Tree |
Medium |
Binary Tree Right Side View |
Tree |
Medium |
Binary Tree Zigzag Level Order Traversal |
Tree |
Medium |
Binary Watch |
Backtracking |
Easy |
Bitwise AND of Numbers Range |
Bit Manipulation |
Medium |
Bubble Sort |
Sort |
Easy |
Build Stack by Queue |
Stack |
Easy |
Bulb Switcher |
Math |
Medium |
Bulls and Cows |
Hash |
Easy |
Burst Balloons |
Dynamic Programming |
Hard |
Calculate Diameter of Binary Tree |
Tree |
Medium |
Calculate Diameter of Multi-Node Tree |
Tree |
Hard |
Calculate String Formula Result |
Stack |
Hard |
Can I Win |
Dynamic Programming |
Medium |
Candy |
Hash |
Hard |
Check Rotated String |
String |
Easy |
Climbing Stairs |
Dynamic Programming |
Easy |
Clone Graph |
Graph |
Medium |
Coin Change |
Dynamic Programming |
Medium |
Combination Sum |
Backtracking |
Medium |
Combination Sum II |
Backtracking |
Medium |
Combination Sum III |
Backtracking |
Medium |
Combination Sum IV |
Dynamic Programming |
Medium |
Combinations |
Backtracking |
Medium |
Compare Version Numbers |
String |
Easy |
Concatenated Words |
Dynamic Programming |
Hard |
Construct Binary Tree from Inorder and Postorder Traversal |
Tree |
Medium |
Construct Binary Tree from Preorder and Inorder Traversal |
Dynamic Programming |
Easy |
Container With Most Water |
Math |
Medium |
Contains Duplicate |
Hash |
Easy |
Contains Duplicate II |
Hash |
Easy |
Contains Duplicate III |
Tree |
Medium |
Convert a Number to Hexadecimal |
Bit Manipulation |
Easy |
Convert Sorted Array to Binary Search Tree |
Tree |
Medium |
Convert Sorted List to Binary Search Tree |
Tree |
Medium |
Copy List with Random Pointer |
Greedy |
Hard |
Count and Say |
String |
Easy |
Count Complete Tree Nodes |
Tree |
Medium |
Count Numbers with Unique Digits |
Dynamic Programming |
Medium |
Count of Range Sum |
Tree |
Hard |
Count of Smaller Numbers After Self |
Math |
Hard |
Count Primes |
Math |
Easy |
Count The Repetitions |
Dynamic Programming |
Hard |
Counting Bits |
Recursion |
Medium |
Course Schedule |
Graph |
Medium |
Course Schedule II |
Graph |
Medium |
Create Maximum Number |
Greedy |
Hard |
Data Stream as Disjoint Intervals |
Tree |
Hard |
Decode String |
Recursion |
Medium |
Decode Ways |
Dynamic Programming |
Medium |
Delete Node in a BST |
Tree |
Medium |
Delete Node in a Linked List |
Linklist |
Easy |
Design Twitter |
Design |
Medium |
Different Ways to Add Parentheses |
Recursion |
Medium |
Distinct Subsequences |
Dynamic Programming |
Hard |
Divide Two Integers |
Math |
Medium |
Edit Distance |
Dynamic Programming |
Hard |
Elimination Game |
Array |
Medium |
Evaluate Division |
Graph |
Medium |
Evaluate Reverse Polish Notation |
Stack |
Medium |
Excel Sheet Column Number |
Math |
Easy |
Excel Sheet Column Title |
Math |
Easy |
Expression Add Operators |
Recursion |
Medium |
Factorial Trailing Zeroes |
Math |
Easy |
Find All Anagrams in a String |
Hash |
Easy |
Find All Duplicates in an Array |
Array |
Medium |
Find All Numbers Disappeared in an Array |
Array |
Easy |
Find K Pairs with Smallest Sums |
Array |
Medium |
Find Median from Data Stream |
Design |
Medium |
Find Median Number in Unsorted Array |
Sort |
Medium |
Find Minimum in Rotated Sorted Array |
Search |
Medium |
Find Minimum in Rotated Sorted Array II |
Search |
Medium |
Find Peak Element |
Search |
Medium |
Find Right Interval |
Search |
Medium |
Find the Difference |
Hash |
Easy |
Find the Duplicate Number |
Math |
Hard |
First Bad Version |
Binary Search |
Easy |
First Missing Positive |
Array |
Hard |
First Unique Character in a String |
String |
Easy |
Fizz Buzz |
String |
Easy |
Flatten Binary Tree to Linked List |
Tree |
Medium |
Flatten Nested List Iterator |
Linklist |
Medium |
Fraction to Recurring Decimal |
Hash |
Medium |
Frog Jump |
Dynamic Programming |
Hard |
Game of Life |
Array |
Medium |
Gas Station |
Hash |
Medium |
Generate Parentheses |
Backtracking |
Medium |
Gray Code |
Backtracking |
Medium |
Group Anagrams |
Hash |
Medium |
Guess Number Higher or Lower |
Binary Search |
Easy |
Guess Number Higher or Lower II |
Dynamic Programming |
Medium |
H-Index |
Hash |
Medium |
H-Index II |
Binary Search |
Medium |
Hamming Distance |
Bit Manipulation |
Easy |
Happy Number |
Math |
Easy |
Heaters |
Binary Search |
Easy |
House Robber |
Dynamic Programming |
Easy |
House Robber II |
Dynamic Programming |
Medium |
House Robber III |
Dynamic Programming |
Medium |
Huge Array Integer Search |
Search |
Easy |
Implement Queue using Stacks |
Stack |
Easy |
Implement Stack using Queues |
Stack |
Easy |
Implement strStr() |
String |
Easy |
Implement Trie (Prefix Tree) |
Tree |
Medium |
Increasing Triplet Subsequence |
Array |
Medium |
Insert Delete GetRandom O(1) |
Hash |
Hard |
Insert Delete GetRandom O(1) - Duplicates allowed |
Hash |
Hard |
Insert Interval |
Sort |
Hard |
Insertion Sort List |
Linklist |
Medium |
Integer Break |
Math |
Medium |
Integer Replacemen |
Math |
Medium |
Integer to English Words |
Math |
Hard |
Integer To Roman |
Math |
Medium |
Interleaving String |
String |
Hard |
Intersection of Two Arrays |
Sort |
Easy |
Intersection of Two Arrays II |
Array |
Easy |
Intersection of Two Linked Lists |
Linklist |
Easy |
Invert Binary Tree |
Tree |
Easy |
Inverted Index Partitioning |
Design |
Medium |
Is Subsequence |
Greedy |
Medium |
Island Perimeter |
Hash |
Easy |
Isomorphic Strings |
Hash |
Easy |
Jump Game |
Hash |
Medium |
Jump Game II |
Hash |
Hard |
K-th Smallest in Lexicographical Order |
Search |
Hard |
Kth Largest Element in an Array |
Heap |
Medium |
Kth Smallest Element in a BST |
Tree |
Medium |
Kth Smallest Element in a Sorted Matrix |
Binary Search |
Medium |
Largest Divisible Subset |
Dynamic Programming |
Medium |
Largest Number |
Math |
Medium |
Largest Rectangle in Histogram |
Array |
Hard |
Length of Last Word |
String |
Easy |
Letter Combinations of a Phone Number |
Backtracking |
Medium |
Lexicographical Numbers |
String |
Medium |
Linked List Cycle |
Linklist |
Medium |
Linked List Cycle II |
Linklist |
Medium |
Linked List Random Node |
Linklist |
Medium |
Longest Absolute File Path |
Array |
Medium |
Longest Common Prefix |
String |
Easy |
Longest Consecutive Sequence |
Array |
Hard |
Longest Increasing Path in a Matrix |
Matrix |
Hard |
Longest Increasing Subsequence |
Array |
Medium |
Longest Palindrome |
Hash |
Easy |
Longest Palindromic Substring |
String |
Medium |
Longest Repeating Character Replacement |
Search |
Medium |
Longest Substring with At Least K Repeating Characters |
Hash |
Medium |
Longest Substring Without Repeating Characters |
String |
Medium |
Longest Valid Parentheses |
Dynamic Programming |
Hard |
Lowest Common Ancestor of a Binary Search Tree |
Tree |
Easy |
Lowest Common Ancestor of a Binary Tree |
Tree |
Medium |
LRU Cache |
Design |
Hard |
Majority Element |
Array |
Easy |
Majority Element II |
Array |
Medium |
Matchsticks to Square |
Recursion |
Medium |
Max Points on a Line |
Greedy |
Hard |
Max Sum of Rectangle No Larger Than K |
Dynamic Programming |
Hard |
Maximal Rectangle |
Dynamic Programming |
Hard |
Maximal Square |
Dynamic Programming |
Medium |
Maximum Depth of Binary Tree |
Tree |
Easy |
Maximum Gap |
Sort |
Hard |
Maximum Product of Word Lengths |
Bit Manipulation |
Medium |
Maximum Product Subarray |
Dynamic Programming |
Medium |
Maximum Subarray |
Array |
Medium |
Maximum XOR of Two Numbers in an Array |
Bit Manipulation |
Medium |
Median of Two Sorted Arrays |
Array |
Hard |
Merge Intervals |
Sort |
Hard |
Merge k Sorted Lists |
Linklist |
Hard |
Merge Sorted Array |
Array |
Easy |
Merge Two Sorted Lists |
Linklist |
Easy |
Min Stack |
Stack |
Easy |
Mini Parser |
String |
Medium |
Minimum Depth of Binary Tree |
Tree |
Medium |
Minimum Height Trees |
Tree |
Medium |
Minimum Moves to Equal Array Elements |
Math |
Easy |
Minimum Moves to Equal Array Elements II |
Math |
Medium |
Minimum Number of Arrows to Burst Balloons |
Greedy |
Medium |
Minimum Path Sum |
Dynamic Programming |
Medium |
Minimum Size Subarray Sum |
Array |
Medium |
Minimum Window Substring |
String |
Hard |
Missing Number |
Bit Manipulation |
Medium |
Move Zeroes |
Array |
Easy |
Multiply Strings |
String |
Medium |
N-Queens |
Backtracking |
Hard |
N-Queens II |
Backtracking |
Hard |
Next Permutation |
Array |
Medium |
Nim Game |
Math |
Easy |
Non-overlapping Intervals |
Greedy |
Medium |
Nth Digit |
Math |
Easy |
Number of 1 Bits |
Bit Manipulation |
Easy |
Number of Boomerangs |
Hash |
Easy |
Number of Digit One |
Math |
Hard |
Number of Islands |
Graph |
Medium |
Number of Segments in a String |
String |
Easy |
Odd Even Linked List |
Linklist |
Medium |
Ones and Zeroes |
Dynamic Programming |
Medium |
Pacific Atlantic Water Flow |
Search |
Medium |
Palindrome Linked List |
Linklist |
Easy |
Palindrome Number |
Math |
Easy |
Palindrome Pairs |
String |
Hard |
Palindrome Partitioning |
Backtracking |
Medium |
Palindrome Partitioning II |
Dynamic Programming |
Hard |
Partition Equal Subset Sum |
Dynamic Programming |
Medium |
Partition List |
Linklist |
Medium |
Pascal's Triangle |
Array |
Easy |
Pascal's Triangle II |
Array |
Easy |
Patching Array |
Greedy |
Hard |
Path Sum |
Tree |
Easy |
Path Sum II |
Dynamic Programming |
Easy |
Path Sum III |
Tree |
Easy |
Peeking Iterator |
Iterrator |
Medium |
Perfect Rectangle |
Matrix |
Hard |
Perfect Squares |
Dynamic Programming |
Medium |
Permutation Sequence |
Backtracking |
Medium |
Permutations |
Backtracking |
Medium |
Permutations II |
Backtracking |
Medium |
Plus One |
Array |
Easy |
Populating Next Right Pointers in Each Node |
Tree |
Medium |
Populating Next Right Pointers in Each Node II |
Tree |
Hard |
Pow |
Math |
Easy |
Power of Four |
Math |
Easy |
Power of Three |
Math |
Easy |
Power of Two |
Math |
Easy |
Product of Array Except Self |
Array |
Medium |
Queue Reconstruction by Height |
Greedy |
Medium |
Quick Sort |
Sort |
Medium |
Random Pick Index |
Math |
Medium |
Range Sum Query - Immutable |
Array |
Easy |
Range Sum Query - Mutable |
Array |
Medium |
Range Sum Query 2D - Immutable |
Matrix |
Medium |
Ransom Note |
String |
Easy |
Reconstruct Itinerary |
Graph |
Medium |
Reconstruct Original Digits from English |
Math |
Medium |
Recover Binary Search Tree |
Tree |
Medium |
Rectangle Area |
Math |
Easy |
Regular Expression Matching |
String |
Hard |
Remove Duplicate Letters |
Greedy |
Hard |
Remove Duplicates from Sorted Array |
Array |
Easy |
Remove Duplicates from Sorted Array II |
Array |
Medium |
Remove Duplicates from Sorted List |
Linklist |
Easy |
Remove Duplicates from Sorted List II |
Linklist |
Medium |
Remove Element |
Array |
Easy |
Remove Invalid Parentheses |
Recursion |
Hard |
Remove K Digits |
Stack |
Medium |
Remove Linked List Elements |
Linklist |
Easy |
Remove Nth Node From End of List |
Linklist |
Medium |
Reorder List |
Linklist |
Medium |
Repeated DNA Sequences |
Hash |
Medium |
Repeated Substring Pattern |
String |
Easy |
Restore IP Addresses |
Backtracking |
Medium |
Reverse Bits |
Bit Manipulation |
Easy |
Reverse Integer |
Math |
Easy |
Reverse Linked List |
Linklist |
Easy |
Reverse Linked List II |
Linklist |
Medium |
Reverse Nodes in k-Group |
Backtracking |
Hard |
Reverse String |
String |
Easy |
Reverse Vowels of a String |
Hash |
Easy |
Reverse Words in a String |
String |
Medium |
Roman to Integer |
Math |
Easy |
Rotate Array |
Array |
Easy |
Rotate Function |
Math |
Easy |
Rotate Image |
Array |
Medium |
Rotate List |
Linklist |
Medium |
Russian Doll Envelopes |
Array |
Hard |
Same Tree |
Tree |
Easy |
Scramble String |
Dynamic Programming |
Hard |
Search a 2D Matrix |
Search |
Hard |
Search a 2D Matrix II |
Binary Search |
Medium |
Search for a Range |
Search |
Medium |
Search in Rotated Sorted Array |
Search |
Hard |
Search in Rotated Sorted Array II |
Search |
Medium |
Search Insert Position |
Search |
Medium |
Searching a 2D Sorted Matrix Part II |
Search |
Medium |
Self Crossing |
Math |
Hard |
Serialize and Deserialize Binary Tree |
Tree |
Hard |
Serialize and Deserialize BST |
Tree |
Medium |
Set Matrix Zeroes |
Array |
Medium |
Shortest Palindrome |
String |
Hard |
Shuffle an Array |
Array |
Medium |
Simplify Path |
Stack |
Medium |
Single Number |
Bit Manipulation |
Medium |
Single Number II |
Bit Manipulation |
Medium |
Single Number III |
Bit Manipulation |
Medium |
Sliding Window Maximum |
Heap |
Hard |
Sort Characters By Frequency |
Hash |
Medium |
Sort Colors |
Sort |
Medium |
Sort List |
Linklist |
Medium |
Spiral Matrix |
Array |
Medium |
Spiral Matrix II |
Array |
Medium |
Split Array Largest Sum |
Dynamic Programming |
Hard |
Sqrt(x) |
Math |
Medium |
String to Integer |
String |
Medium |
Strong Password Checker |
String |
Hard |
Subsets |
Backtracking |
Medium |
Subsets II |
Backtracking |
Medium |
Substring with Concatenation of All Words |
String |
Hard |
Sudoku Solver |
Backtracking |
Hard |
Sum of Left Leaves |
Tree |
Easy |
Sum of Two Integers |
Math |
Easy |
Sum Root to Leaf Numbers |
Tree |
Medium |
Summary Ranges |
Array |
Medium |
Super Pow |
Math |
Medium |
Super Ugly Number |
Math |
Medium |
Surrounded Regions |
Search |
Medium |
Swap Nodes in Pairs |
Linklist |
Medium |
Symmetric Tree |
Tree |
Medium |
Text Justification |
String |
Hard |
The Skyline Problem |
Tree |
Hard |
Third Maximum Number |
Array |
Easy |
Top K Frequent Elements |
Hash |
Medium |
Total Hamming Distance |
Bit Manipulation |
Medium |
Trapping Rain Water |
Array |
Hard |
Trapping Rain Water II |
Search |
Hard |
Triangle |
Dynamic Programming |
Medium |
Two Sum |
Greedy |
Easy |
Two Sum II - Input array is sorted |
Array |
Medium |
Ugly Number |
Math |
Easy |
Ugly Number II |
Math |
Medium |
Unique Binary Search Trees |
Tree |
Medium |
Unique Binary Search Trees II |
Tree |
Medium |
Unique Paths |
Dynamic Programming |
Medium |
Unique Paths II |
Dynamic Programming |
Medium |
Unique Substrings in Wraparound String |
Dynamic Programming |
Medium |
UTF-8 Validation |
String |
Medium |
Valid Anagram |
Sort |
Easy |
Valid Number |
Math |
Hard |
Valid Palindrome |
String |
Easy |
Valid Parentheses |
Stack |
Easy |
Valid Perfect Square |
Math |
Medium |
Valid Sudoku |
Greedy |
Easy |
Validate Binary Search Tree |
Tree |
Medium |
Validate IP Address |
Dynamic Programming |
Medium |
Verify Preorder Serialization of a Binary Tree |
Tree |
Medium |
Water and Jug Problem |
Math |
Medium |
What are Private key and public key - usage and purpose |
knowledge |
Easy |
Wiggle Sort II |
Sort |
Medium |
Wiggle Subsequence |
Dynamic Programming |
Medium |
Wildcard Matching |
Dynamic Programming |
Hard |
wood cut |
Search |
Medium |
Word Break |
Dynamic Programming |
Medium |
Word Break II |
Dynamic Programming |
Hard |
Word Ladder |
String |
Medium |
Word Ladder II |
String |
Hard |
Word Pattern |
Hash |
Easy |
Word Search |
Search |
Medium |
Word Search II |
Backtracking |
Hard |
ZigZag Conversion |
String |
Easy |