Leetcode is an online platform for coding interview preparation, mainly to test one’s ability to come up with efficient algorithms to solve small theoretical problems.
I haven’t touched Leetcode in a hot minute, the minute in question being more than a year, actually. I remember being inspired by my TA in my CS2040 class, who was really helpful throughout and (you guessed it) had a really long daily streak going on Leetcode. I attempted to follow suit, but was wildly inconsistent at best. The moment I encountered a Hard, I folded and broke my streak instantly. Same went for problems that were taking a few too many hours to solve, and I also never remembered to open the site at all over the weekends.
That being said, I was still in my sophomore year then, and now I find myself in my penultimate year wanting to brush up: 1. my DSA knowledge and 2. my Java skills, which have deteriorated at a truly incredible rate. This is also basically a given in anyone’s guide to securing good dev-related internships / jobs, which would be very very very very nice to have.
I’m not gonna be as strict about the daily streak thing, but I am going to attempt to complete the entirety of the Neetcode 150 List over the coming summer. If I do accomplish that, I think I’ll be in a much better spot as an internship candidate, and also just much more confident in my teeny tiny brain’s capabilities.
I guess I’ll document some of the problems I solve here?
I’m going in order so I started off with Two Sum , hope I manage to finish this list!
Shame might also be a good motivating factor here so here’s my current leetcode profile. Ideally we add 150 to this by the end of summer.

Also, I wrote a script to help automate the transcribing of the Leetcode problem and my solution into a new note in this Obsidian vault. Check it out at: https://github.com/kienanana/obsidian-scripts
Update (20/08/26)
I have found that trying to blast through the list in order has not proven very helpful for my pattern recognition and long-term learning. Instead, I will separate the questions into their topics, and clear them topic-by-topic instead.
Full Order
1. Arrays & Hashing
- Contains Duplicate
- Valid Anagram
- Two Sum
- Group Anagrams
- Top K Frequent Elements
- Encode and Decode Strings - paywalled?
- Product of Array Except Self
- Valid Sudoku
- Longest Consecutive Sequence
2. Two Pointers
- Valid Palindrome
- Two Sum II - Input Array Is Sorted
- 3Sum
- Container With Most Water
- Trapping Rain Water
3. Sliding Window
- Best Time to Buy and Sell Stock
- Longest Substring Without Repeating Characters
- Longest Repeating Character Replacement
- Permutation in String
- Minimum Window Substring
- Sliding Window Maximum
4. Stack
- Valid Parentheses
- Min Stack
- Evaluate Reverse Polish Notation
- Generate Parentheses
- Daily Temperatures
- Car Fleet
- Largest Rectangle in Histogram
5. Binary Search
- Binary Search
- Search a 2D Matrix
- Koko Eating Bananas
- Find Minimum in Rotated Sorted Array
- Search in Rotated Sorted Array
- Time Based Key-Value Store
- Median of Two Sorted Arrays
6. Linked List
- Reverse Linked List
- Merge Two Sorted Lists
- Reorder List
- Remove Nth Node From End of List
- Copy List with Random Pointer (holy shit man what is this?)
- Add Two Numbers
- Linked List Cycle
- Find the Duplicate Number
- LRU Cache
- Merge K Sorted Lists
- Reverse Nodes in K-Group
7. Trees
- Invert Binary Tree
- Maximum Depth of Binary Tree
- Diameter of Binary Tree
- Balanced Binary Tree
- Same Tree
- Subtree of Another Tree
- Lowest Common Ancestor of a Binary Search Tree
- Binary Tree Level Order Traversal
- Binary Tree Right Side View
- Count Good Nodes in Binary Tree
- Validate Binary Search Tree
- Kth Smallest Element in a BST
- Construct Binary Tree from Preorder and Inorder Traversal
- Binary Tree Maximum Path Sum
- Serialize and Deserialize Binary Tree
8. Tries
- Implement Trie (Prefix Tree)
- Design Add and Search Words Data Structure
- Word Search II
9. Heap / Priority Queue
- Kth Largest Element in a Stream
- Last Stone Weight
- K Closest Points to Origin
- Kth Largest Element in an Array
- Task Scheduler
- Design Twitter
- Find Median from Data Stream
10. Backtracking
- Subsets
- Combination Sum
- Permutations
- Subsets II
- Combination Sum II
- Word Search
- Palindrome Partitioning
- Letter Combinations of a Phone Number
- N-Queens
11. Graphs
- Number of Islands
- Clone Graph
- Max Area of Island
- Pacific Atlantic Water Flow
- Surrounded Regions
- Rotting Oranges
- Walls and Gates
- Course Schedule
- Course Schedule II
- Graph Valid Tree
- Number of Connected Components in an Undirected Graph
- Redundant Connection
- Word Ladder
12. Advanced Graphs
- Reconstruct Itinerary
- Min Cost to Connect All Points
- Network Delay Time
- Swim in Rising Water
- Alien Dictionary
- Cheapest Flights Within K Stops
13. 1-D Dynamic Programming
- Climbing Stairs
- Min Cost Climbing Stairs
- House Robber
- House Robber II
- Longest Palindromic Substring
- Palindromic Substrings
- Decode Ways
- Coin Change
- Maximum Product Subarray
- Word Break
- Longest Increasing Subsequence
- Partition Equal Subset Sum
14. 2-D Dynamic Programming
- Unique Paths
- Longest Common Subsequence
- Best Time to Buy and Sell Stock with Cooldown
- Coin Change II
- Target Sum
- Interleaving String
- Longest Increasing Path in a Matrix
- Distinct Subsequences
- Edit Distance
- Burst Balloons
- Regular Expression Matching
15. Greedy
- Maximum Subarray
- Jump Game
- Jump Game II
- Gas Station
- Hand of Straights
- Merge Triplets to Form Target Triplet
- Partition Labels
- Valid Parenthesis String
16. Intervals
- Insert Interval
- Merge Intervals
- Non-overlapping Intervals
- Meeting Rooms
- Meeting Rooms II
- Minimum Interval to Include Each Query
17. Math & Geometry
- Rotate Image
- Spiral Matrix
- Set Matrix Zeroes
- Happy Number
- Plus One
- Pow(x, n)
- Multiply Strings
- Detect Squares
18. Bit Manipulation
- Single Number
- Number of 1 Bits
- Counting Bits
- Reverse Bits
- Missing Number
- Sum of Two Integers
- Reverse Integer