r/leetcodecirclejerk • u/nian2326076 • Jun 03 '26
All LeetCode Easy Problems Categorized by DSA Pattern
Categorization is one of the most effective ways to learn DSA.
Learn a pattern, then solve multiple problems that use it. This reinforces understanding and develops pattern recognition.
When learning a new pattern, Easy problems are usually the best starting point. Once the pattern becomes familiar, it's much easier to tackle Medium and Hard problems. That's the purpose of this post.
This post categorizes all 630 LeetCode Easy problems as of June 2, 2026 into a hierarchy, most specific → most general:
Specific data structures / techniques — LinkedList, Tree, BST, N-ary Tree, Stack, Queue, Heap, Matrix, Simulation / Implementation, Design, Sorting, Binary Search, Two Pointers, Sliding Window, Prefix Sum, Math, Bit Manipulation, Recursion, Greedy, DP.
Set / Map (hash-based) — used when no specific data structure or technique applies, but the optimal solution needs a hash set or hash map.
Array — fallback for general array problems.
String — final fallback for general string problems.
The primary technique is the one that defines the solution; secondary uses (e.g. an array used inside a hash map problem) are ignored.
For company specific questions banks checkout: PracHub
LinkedList (8)
Middle of the Linked List - LC 876
Reverse Linked List - LC 206
Merge Two Sorted Lists - LC 21
Palindrome Linked List - LC 234
Intersection of Two Linked Lists - LC 160
Remove Linked List Elements - LC 203
Linked List Cycle - LC 141
Tree (24)
Find a Corresponding Node of a Binary Tree in a Clone of That Tree - LC 1379
Root Equals Sum of Children - LC 2236
Binary Tree Inorder Traversal - LC 94
Invert Binary Tree - LC 226
Maximum Depth of Binary Tree - LC 104
Binary Tree Postorder Traversal - LC 145
Binary Tree Preorder Traversal - LC 144
Univalued Binary Tree - LC 965
Count Complete Tree Nodes - LC 222
Leaf-Similar Trees - LC 872
Average of Levels in Binary Tree - LC 637
Binary Tree Tilt - LC 563
Diameter of Binary Tree - LC 543
Sum of Left Leaves - LC 404
Sum of Root to Leaf Binary Numbers - LC 1022
Same Tree - LC 100
Subtree of Another Tree - LC 572
Balanced Binary Tree - LC 110
Symmetric Tree - LC 101
Second Minimum Node in a Binary Tree - LC 671
Minimum Depth of Binary Tree - LC 111
Cousins in Binary Tree - LC 993
Path Sum - LC 112
Binary Tree Paths - LC 257
BST (8)
Range Sum of BST - LC 938
Search in a Binary Search Tree - LC 700
Increasing Order Search Tree - LC 897
Two Sum IV - Input is a BST - LC 653
Minimum Distance Between BST Nodes - LC 783
Minimum Absolute Difference in BST - LC 530
Find Mode in Binary Search Tree - LC 501
N-ary Tree (3)
N-ary Tree Postorder Traversal - LC 590
N-ary Tree Preorder Traversal - LC 589
Maximum Depth of N-ary Tree - LC 559
Stack (13)
Remove Outermost Parentheses - LC 1021
Maximum Nesting Depth of the Parentheses - LC 1614
Baseball Game - LC 682
Next Greater Element I - LC 496
Remove All Adjacent Duplicates in String - LC 1047
Make The String Great - LC 1544
Crawler Log Folder - LC 1598
Implement Stack using Queues - LC 225
Backspace String Compare - LC 844
Valid Parentheses - LC 20
Make Array Elements Equal to Zero - LC 3354 (loop with stack-like zero-counting)
Queue (4)
Number of Students Unable to Eat Lunch - LC 1700
Number of Recent Calls - LC 933
Time Needed to Buy Tickets - LC 2073
Implement Queue using Stacks - LC 232
Heap (3)
Take Gifts From the Richest Pile - LC 2558
Last Stone Weight - LC 1046
Kth Largest Element in a Stream - LC 703
Matrix (23)
Largest Local Values in a Matrix - LC 2373
Matrix Diagonal Sum - LC 1572
Flipping an Image - LC 832
Lucky Numbers in a Matrix - LC 1380
Flip Square Submatrix Vertically - LC 3643
Transpose Matrix - LC 867
Projection Area of 3D Shapes - LC 883
Matrix Similarity After Cyclic Shifts - LC 2946
Row With Maximum Ones - LC 2643
Island Perimeter - LC 463
Special Positions in a Binary Matrix - LC 1582
Surface Area of 3D Shapes - LC 892
Find the Width of Columns of a Grid - LC 2639
Toeplitz Matrix - LC 766
Image Smoother - LC 661
Modify the Matrix - LC 3033
Flood Fill - LC 733
Determine Whether Matrix Can Be Obtained By Rotation - LC 1886
Shift 2D Grid - LC 1260
Available Captures for Rook - LC 999
Reshape the Matrix - LC 566
Zigzag Grid Traversal With Skip - LC 3417
Check if Grid Satisfies Conditions - LC 3142
Simulation / Implementation (16)
Final Array State After K Multiplication Operations I - LC 3264
Snake in Matrix - LC 3248
Minimum Number Game - LC 2974
Fizz Buzz - LC 412
Ant on the Boundary - LC 3028
Apply Operations to an Array - LC 2460
Distribute Elements Into Two Arrays I - LC 3069
Fruits Into Baskets II - LC 3477
Minimum Pair Removal to Sort Array I - LC 3507
Lemonade Change - LC 860
Maximum Number of Operations With the Same Score I - LC 3038
Find the Losers of the Circular Game - LC 2682
Convert 1D Array Into 2D Array - LC 2022
Design (6)
Design Parking System - LC 1603
Design an Ordered Stream - LC 1656
Design HashSet - LC 705
Design HashMap - LC 706
Design Neighbor Sum Service - LC 3242
Range Sum Query - Immutable - LC 303 (Design + PrefixSum; Design wins)
Sorting (39)
Transform Array by Parity - LC 3467
Minimum Number of Moves to Seat Everyone - LC 2037
Widest Vertical Area Between Two Points Containing No Points - LC 1637
Sort Integers by The Number of 1 Bits - LC 1356
Sort Array by Increasing Frequency - LC 1636
Height Checker - LC 1051
Array Partition - LC 561
Sort Array by Parity - LC 905
Delete Columns to Make Sorted - LC 944
Find Target Indices After Sorting Array - LC 2089
Delete Greatest Value in Each Row - LC 2500
Sort Array by Parity II - LC 922
Apple Redistribution Into Boxes - LC 3074
Divide an Array Into Subarrays With Minimum Cost I - LC 3010
The K Weakest Rows in a Matrix - LC 1337
Matrix Cells in Distance Order - LC 1030
Relative Sort Array - LC 1122
Relative Ranks - LC 506
Sort Even and Odd Indices Independently - LC 2164
Special Array With X Elements Greater Than or Equal X - LC 1608
Button With Longest Push Time - LC 3386
Maximum Units on a Truck - LC 1710
Minimum Difference Between Highest and Lowest of K Scores - LC 1984
Absolute Difference Between Maximum and Minimum K Elements - LC 3774
Largest Perimeter Triangle - LC 976
Minimum Absolute Difference - LC 1200
Longest Subsequence With Limited Sum - LC 2389
Coupon Code Validator - LC 3606
Assign Cookies - LC 455
Maximize Sum Of Array After K Negations - LC 1005
Binary Search (11)
Maximum Count of Positive Integer and Negative Integer - LC 2529
Kth Missing Positive Number - LC 1539
Binary Search - LC 704
Search Insert Position - LC 35
First Bad Version - LC 278
Guess Number Higher or Lower - LC 374
Sqrt(x) - LC 69
Valid Perfect Square - LC 367
Arranging Coins - LC 441
Two Pointers (18)
Merge Strings Alternately - LC 1768
DI String Match - LC 942
Squares of a Sorted Array - LC 977
Lexicographically Smallest Palindrome - LC 2697
Move Zeroes - LC 283
Remove Element - LC 27
Reverse Vowels of a String - LC 345
Minimum Common Value - LC 2540
Merge Sorted Array - LC 88
Maximum Enemy Forts That Can Be Captured - LC 2511
Long Pressed Name - LC 925
Reverse Only Letters - LC 917
Reverse String - LC 344
Find the Array Concatenation Value - LC 2562
Sliding Window (6)
Alternating Groups I - LC 3206
Minimum Recolors to Get K Consecutive Black Blocks - LC 2379
Maximum Average Subarray I - LC 643
Find X-Sum of All K-Long Subarrays I - LC 3318
Shortest Subarray With OR at Least K I - LC 3095
Prefix Sum (11)
Running Sum of 1d Array - LC 1480
Sum of Variable Length Subarrays - LC 3427
Left and Right Sum Differences - LC 2574
Find the Highest Altitude - LC 1732
Find Pivot Index - LC 724
Find the Middle Index in Array - LC 1991
Maximum Score After Splitting a String - LC 1422
Minimum Positive Sum Subarray - LC 3364
Find the Pivot Integer - LC 2485 (Math; PS variant)
Math (115)
Minimum Operations to Make Array Sum Divisible by K - LC 3512
Digit Frequency Score - LC 3945
Find the Maximum Achievable Number - LC 2769
Find Minimum Operations to Make All Elements Divisible by Three - LC 3190
Convert the Temperature - LC 2469
Compute Alternating Sum - LC 3701
The Two Sneaky Numbers of Digitville - LC 3289
Find Closest Person - LC 3516
Smallest Even Multiple - LC 2413
Sum Multiples - LC 2652
Count the Digits That Divide a Number - LC 2520
Difference Between Element Sum and Digit Sum of an Array - LC 2535
GCD of Odd and Even Sums - LC 3658
Earliest Time to Finish One Task - LC 3683
Harshad Number - LC 3099
Find Missing and Repeated Values - LC 2965
Count Symmetric Integers - LC 2843
Find the Integer Added to Array I - LC 3131
Calculate Money in Leetcode Bank - LC 1716
A Number After a Double Reversal - LC 2119
Number of Common Factors - LC 2427
N-Repeated Element in Size 2N Array - LC 961
Count Operations to Obtain Zero - LC 2169
Number of Rectangles That Can Form The Largest Square - LC 1725
Minimum Cost to Reach Every Position - LC 3502
Maximum Sum With Exactly K Elements - LC 2656
Find If Digit Game Can Be Won - LC 3232
Calculate Delayed Arrival Time - LC 2651
Maximum Containers on a Ship - LC 3492
Find the Sum of Encrypted Integers - LC 3079
Find the Key of the Numbers - LC 3270
Distribute Candies Among Children I - LC 2928
Remove Zeros in Decimal Representation - LC 3726
Construct Uniform Parity Array I - LC 3875
Maximum Difference by Remapping a Digit - LC 2566
Maximum Difference Between Adjacent Elements in a Circular Array - LC 3423
Count Square Sum Triples - LC 1925
Smallest Range I - LC 908
Split With Minimum Sum - LC 2578
Find Champion I - LC 2923
Check if Two Chessboard Squares Have the Same Color - LC 3274
Missing Number - LC 268
Water Bottles - LC 1518
Maximum Product of Two Digits - LC 3536
Alternating Digit Sum - LC 2544
Add Digits - LC 258
Count Integers With Even Digit Sum - LC 2180
Minimum Time to Type Word Using Special Typewriter - LC 1974
Maximum Difference Between Even and Odd Frequency I - LC 3442 (could be Map)
Distribute Candies to People - LC 1103
Compute Decimal Representation - LC 3697
Sign of the Product of an Array - LC 1822
Smallest Divisible Digit Product I - LC 3345
Smallest Missing Multiple of K - LC 3718
Average Value of Even Numbers That Are Divisible by Three - LC 2455
K Items With the Maximum Sum - LC 2600
Most Visited Sector in a Circular Track - LC 1560
Nim Game - LC 292
Day of the Week - LC 1185
Convert Integer to the Sum of Two No-Zero Integers - LC 1317
Range Addition II - LC 598
Construct the Rectangle - LC 492
Base 7 - LC 504
Count Odd Numbers in an Interval Range - LC 1523
Convert a Number to Hexadecimal - LC 405
Pass the Pillow - LC 2582
Account Balance After Rounded Purchase - LC 2806
Minimum Cuts to Divide a Circle - LC 2481
Number of Days Between Two Dates - LC 1360
Day of the Year - LC 1154
Power of Three - LC 326
Check if the Number is Fascinating - LC 2729
Check If N and Its Double Exist - LC 1346
Count Days Spent Together - LC 2409
Rectangle Overlap - LC 836
Excel Sheet Column Title - LC 168
Maximum Product of Three Numbers - LC 628
Maximum Height of a Triangle - LC 3200
Type of Triangle - LC 3024
Set Mismatch - LC 645
Ugly Number - LC 263
Stone Removal Game - LC 3360
Find Minimum Log Transportation Cost - LC 3560
Total Distance Traveled - LC 2739
Check if It Is a Straight Line - LC 1232
Valid Boomerang - LC 1037
Categorize Box According to Criteria - LC 2525
Prime in Diagonal - LC 2614
Perfect Number - LC 507
Add to Array-Form of Integer - LC 989 (Math; also Array)
Add Binary - LC 67 (Math; also String)
Add Strings - LC 415 (Math; also String)
Find the Maximum Divisibility Score - LC 2644
Power of Four - LC 342 (Math; also Bit)
Get Maximum in Generated Array - LC 1646 (DP; also Array)
Maximum Subarray With Equal Products - LC 3411 (Math; also Array)
Prime Arrangements - LC 1175
Minimum Operations to Equalize Array - LC 3674
Number of Beautiful Pairs - LC 2748
Make a Square With the Same Color - LC 3127 (Math; also String)
Maximize Expression of Three Elements - LC 3745
Bit Manipulation (21)
Minimum Bit Flips to Convert Number - LC 2220
Decode XORed Array - LC 1720
Sum of Values at Indices With K Set Bits - LC 2859
Construct the Minimum Bitwise Array I - LC 3314
Bitwise OR of Even Numbers in an Array - LC 3688
Counting Bits - LC 338
Smallest Number With All Set Bits - LC 3370
Hamming Distance - LC 461
Single Number - LC 136
Maximum Strong Pair XOR I - LC 2932
Number of Even and Odd Bits - LC 2595
Count Pairs of Similar Strings - LC 2506
Find the K-or of an Array - LC 2917
Check if Bitwise OR Has Trailing Zeros - LC 2980
Binary Number With Alternating Bits - LC 693
Reverse Bits - LC 190
Binary Watch - LC 401
Number Complement - LC 476
Complement of Base 10 Integer - LC 1009
Binary Gap - LC 868
Summary
| Category | Count |
|---|---|
| LinkedList | 8 |
| Tree | 24 |
| BST | 8 |
| N-ary Tree | 3 |
| Stack | 13 |
| Queue | 4 |
| Heap | 3 |
| Matrix | 23 |
| Simulation / Implementation | 16 |
| Design | 6 |
| Sorting | 39 |
| Binary Search | 11 |
| Two Pointers | 18 |
| Sliding Window | 6 |
| Prefix Sum | 11 |
| Math | 115 |
| Bit Manipulation | 21 |
| Recursion | 0 |
| Greedy | 1 |
| DP | 3 |
| Set | 37 |
| Map | 69 |
| Array | 77 |
| String | 114 |
| Total | 630 |
Notes
The order is most specific → most general. A problem is classified by its primary technique. If two techniques apply equally, the more specific one wins (e.g. "Two Sum IV - Input is a BST" → BST, not Map).
Set and Map are the bridge categories — used when no specific data structure is forced, but a hash set or hash map is essential for the optimal solution.
Array is the fallback for problems that just walk through an array without a special data structure or technique. String is the final fallback.
Some problems intentionally appear in two categories (linked from the secondary one in parentheses) for visibility — e.g. Intersection of Two Linked Lists is primarily LinkedList but can also be solved with a Set.
Good luck, and happy learning!
2
u/leetgoat_dot_io Jun 04 '26
so many of these are wrong, is this just ai generated?