Hide sidebar
All
Arrays
Hashing
LinkedLists
Trees
Sorting
Binary Search
Recursion and Backtracking
Graphs
Tries
Heaps
String Manipulation
Sliding Window
Stacks
Queues
Dynamic Programming
2D Matrix
Greedy
Prefix Sum
Intervals
Math
Bit Manipulation
🏠
Home
DeepSWE Roadmap
A Note from DeepSWE
📏
Arrays
Move Zeroes
Easy
Remove Element
Easy
Remove Duplicates from Sorted Array
Easy
Merge Sorted Array
Easy
Product of Array Except Self
Medium
First Missing Positive
Hard
Trapping Rain Water
Hard
🔑
Hashing
Intro to Hashing
Two Sum
Easy
Contains Duplicate
Easy
Valid Anagram
Easy
Ransom Note
Easy
First Unique Character in a String
Easy
Happy Number
Easy
Jewels and Stones
Easy
Group Anagrams
Medium
Top K Frequent Elements
Medium
Encode and Decode TinyURL
Medium
Longest Consecutive Sequence
Medium
Insert Delete GetRandom O(1)
Medium
Find All Anagrams in a String
Medium
🔗
LinkedLists
Intro To Linked Lists
Reverse Linked List
Easy
Merge Two Sorted Lists
Easy
Linked List Cycle
Easy
Add Two Numbers
Medium
Remove Nth Node
Medium
Reorder List
Medium
Copy List with Random Pointer
Medium
LRU Cache
Hard
🌳
Trees
Intro To Trees
Pre-order Traversal
In-order Traversal
Post-order Traversal
Binary Search Trees
DFS
BFS
Same Tree
Easy
Invert Binary Tree
Easy
Maximum Depth of Binary Tree
Easy
Balanced Binary Tree
Easy
Diameter of Binary Tree
Easy
Symmetric Tree
Easy
Path Sum
Easy
Convert Sorted Array to Binary Search Tree
Easy
Subtree of Another Tree
Easy
Lowest Common Ancestor of a BST
Easy
Binary Tree Paths
Easy
Minimum Depth of a Binary Tree
Easy
Range Sum of BST
Easy
Root Equals Sum of Children
Easy
Binary Tree Tilt
Easy
Find Mode in Binary Search Tree
Easy
Two Sum IV - Input is a BST
Easy
Binary Tree Level Order Traversal
Medium
Validate Binary Search Tree
Medium
Kth Smallest Element in a BST
Medium
Lowest Common Ancestor
Medium
Path Sum II
Medium
Binary Tree Zigzag Level Order Traversal
Medium
Binary Tree Right Side View
Medium
Count Good Nodes in Binary Tree
Medium
All Nodes Distance K in Binary Tree
Medium
Binary Tree Vertical Order Traversal
Medium
Binary Search Tree Iterator
Medium
Unique Binary Search Trees
Medium
Sum Root to Leaf Numbers
Medium
Path Sum III
Medium
Binary Tree Upside Down
Medium
Populating Next Right Pointers in Each Node
Medium
Populating Next Right Pointers in Each Node II
Medium
Find Leaves of a Binary Tree
Medium
House Robber III
Medium
Delete Node in a BST
Medium
Binary Tree Level Order Traversal II
Medium
Find Duplicate Subtrees
Medium
Cousins in a Binary Tree
Medium
Count Complete Tree Nodes
Medium
Inorder Successor in BST
Medium
Inorder Successor in BST II
Medium
Equal Tree Partition
Medium
Binary Tree Pruning
Medium
Closest Leaf in a Binary Tree
Medium
Flatten Binary Tree to Linked List
Medium
Construct Binary Tree from Preorder and Inorder Traversal
Medium
Binary Tree Maximum Path Sum
Hard
Serialize and Deserialize Binary Tree
Hard
Boundary of Binary Tree
Hard
Unique Binary Search Trees II
Hard
Serialize and Deserialize N-Ary Tree
Hard
📊
Sorting
Intro to Sorting
Merge Sort
Quick Sort
Sort an Array
Medium
Kth Largest Element in an Array
Medium
🔍
Binary Search
Intro to Binary Search
Binary Search Tips and Tricks
Search in Rotated Sorted Array
Medium
🔄
Recursion and Backtracking
Intro to Backtracking
Subsets
Medium
Combination Sum
Medium
Permutations
Medium
Permutations II
Medium
Subsets II
Medium
Combination Sum II
Medium
Letter Combinations of a Phone Number
Medium
Generate Parentheses
Medium
Word Search
Medium
📈
Graphs
Intro To Graphs
DFS
BFS
Topological Sort
Union-Find
Shortest Path Algorithms
Cycle Detection
Kruskals MST Algorithm
Flood Fill
Easy
Number of Islands
Medium
Rotting Oranges
Medium
Surrounded Regions
Medium
01 Matrix
Medium
Longest Increasing Path in a Matrix
Hard
🔽
Tries
Intro to Tries
Implement Trie Prefix Tree
Medium
Design Add and Search Words Data Structure
Medium
Word Search II
Hard
🔼
Heaps
Intro to Heaps & Priority Queues
Last Stone Weight
Easy
Top K Frequent Elements
Medium
Merge K Sorted Lists
Hard
Find Median from Data Stream
Hard
✂️
String Manipulation
Valid Palindrome
Easy
Valid Anagram
Easy
Longest Palindromic Substring
Medium
Group Anagrams
Medium
Encode and Decode Strings
Medium
🪟
Sliding Window
Best Time to Buy and Sell Stock
Easy
Maximum Average Subarray
Easy
Longest Substring Without Repeating Characters
Medium
Longest Repeating Character Replacement
Medium
Permutation in String
Medium
Minimum Size Subarray Sum
Medium
Count Number of Nice Subarrays
Medium
Longest Subarray of 1s After Deleting One Element
Medium
Find All Anagrams in a String
Medium
Longest Substring with At Most K Distinct Characters
Medium
Minimum Window Substring
Hard
Sliding Window Maximum
Hard
Substring with Concatenation of All Words
Hard
📚
Stacks
Valid Parentheses
Easy
Min Stack
Easy
Evaluate Reverse Polish Notation
Medium
Generate Parentheses
Medium
Daily Temperatures
Medium
Car Fleet
Medium
Largest Rectangle in Histogram
Hard
Trapping Rain Water
Hard
🚶
Queues
Implement Queue using Stacks
Easy
Number of Recent Calls
Easy
Moving Average from Data Stream
Easy
Design Circular Queue
Medium
Sliding Window Maximum
Hard
💡
Dynamic Programming
Bottom up 1D Dynamic Programming - Fibonacci
Bottom up 2D Dynamic Programming
House Robber
Easy
Maximum Product Subarray
Medium
Unique Paths
Medium
Unique Paths II
Medium
Minimum Path Sum
Medium
Maximal Square
Medium
House Robber II
Medium
Coin Change
Medium
Coin Change 2
Medium
Longest Increasing Subsequence
Medium
Edit Distance
Hard
Distinct Subsequences
Hard
🔢
2D Matrix
Intro to 2D Matrix Problems
Valid Sudoku
Medium
Spiral Matrix
Medium
💰
Greedy
Intro To Greedy Problems
Assign Cookies
Easy
Can Place Flowers
Easy
Best Time to Buy and Sell Stock II
Easy
Is Subsequence
Easy
Task Scheduler
Medium
Gas Station
Medium
Jump Game II
Medium
Non-overlapping Intervals
Medium
Partition Labels
Medium
Minimum Number of Arrows to Burst Balloons
Medium
➕
Prefix Sum
Range Sum Query - Immutable
Easy
Find Pivot Index
Easy
Subarray Sum Equals K
Medium
Continuous Subarray Sum
Medium
Subarray Sums Divisible by K
Medium
Range Sum Query 2D - Immutable
Medium
📏
Intervals
Meeting Rooms
Easy
Insert Interval
Medium
Merge Intervals
Medium
Non-overlapping Intervals
Medium
Meeting Rooms II
Medium
🧮
Math
Palindrome Number
Easy
Reverse Integer
Easy
Add Binary
Easy
Fizz Buzz
Easy
Two Sum
Easy
Roman to Integer
Easy
Count Primes
Easy
Reservoir Sampling
Medium
Integer to Roman
Medium
Pow(x, n)
Medium
Factorial Trailing Zeroes
Medium
Max Points on a Line
Hard
🤖
Bit Manipulation
Intro To Bit Manipulation
Number of 1 Bits
Easy
Counting Bits
Easy
Reverse Bits
Easy
Missing Number
Easy
Single Number
Easy
Power of Two
Easy
Hamming Distance
Easy
Number of Steps to Reduce a Number to Zero
Easy
Binary Gap
Easy
Convert to Hexadecimal
Easy
Find the Difference
Easy
Sum of Two Integers
Medium
Single Number II
Medium
Subsets
Medium
Bitwise AND of Numbers Range
Medium
Reverse Integer
Medium
Maximum XOR of Two Numbers in an Array
Hard
D
e
e
p
S
W
E
.
i
o
leetcode/DSA course
System Design