- base
- Two Sum
- Three Sum
- Valid Sudoku
- Valid Anagram
- First Missing Positive
- Group Anagrams
- LRU Cache
- Longest Consecutive Sequence
- Reverse String
- Move Zeros
- Contains Duplicate
- Best Time To Buy And Sell Stock
- Single Number
- Climbing Stairs
- Reverse Integer
- Longest Common Prefix
- Palindrome Number
- Remove Duplicates from Sorted Array
- Remove Duplicates from Sorted Array II
- linked-list
- Reverse Linked List
- Reverse Linked List II
- Swap Nodes In Pairs
- Reverse Nodes In K Group
- Linked List Cycle
- Linked List Cycle II
- Middle Of The Linked List
- Remove Nth Node From End Of List
- Merge Two Sorted Lists
- Add Two Numbers
- Add Two Numbers II
- Sort List
- Rotate List
- stack & queue
- Valid Parentheses
- Implement Queue Using stakcs
- Longest Valid Parentheses
- Evaluate Reverse Polish Notation
- Largest Rectangle in Histogram
- Maximal Rectangle
- Next Greater Element II
- Daily Temperatures
- Shortest Unsorted Continuous Subarray
- Online Stock Span
- Remove K Digits
- Remove Duplicate Letters
- heap
- tree
- Validate Binary Search Tree
- Lowest Common Ancestor of a Binary Search Tree
- Lowest Common Ancestor of a Binary Tree
- Invert Binary Tree
- Maximum Depth of Binary Tree
- Binary Tree Inorder Traversal
- Binary Tree Preorder Traversal
- Binary Tree Postorder Traversal
- Unique Binary Search Trees
- Unique Binary Search Trees II
- Same Tree
- Symmetric Tree
- Binary Search Tree Iterator
- Kth Smallest Element in a BST
- sliding window
- Sliding Window Maximum
- Minimun Window Substring
- Permutation In String
- Longest Substring Without Repeating Characters
- Find All Anagrams in a String
- Substring with Concatenation of All Words
- Longest Repeating Character Replacement
- Subarrays with K Different Integers
- Sliding Window Median
- BFS and DFS
- Symmetric Tree
- Minimum Depth of Binary Tree
- Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal II
- Binary Tree Zigzag Level Order Traversal
- Word Ladder
- Word Ladder II
- Open the Lock
- Binary Tree Right Side View
- Number of Islands
- Balanced Binary Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Path Sum
- Path Sum II
- Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Inorder and Postorder Traversal
- Flatten Binary Tree to Linked List
- Populating Next Right Pointers in Each Node
- Populating Next Right Pointers in Each Node II
- Sum Root to Leaf Numbers
- Surrounded Regions
- Binary Tree Paths
- Course Schedule
- Course Schedule II
- Binary Tree Maximum Path Sum
- Recover Binary Search Tree
- Combination Sum
- Combination Sum II
- Permutations
- Permutations II
- Combinations
- Subsets
- Word Search
- Matchsticks to Square
- Restore IP Addresses
- Dynamic Programming
- Climbing Stairs
- Triangle
- Maximum Product Subarray
- Best Time to Buy and Sell Stock
- Best Time to Buy and Sell Stock ii
- Best Time to Buy and Sell Stock iii
- Best Time to Buy and Sell Stock iv
- Longest Increasing Subsequence
- Coin Change
- Edit Distance
- Maximum Subarray
- House Robber
- House Robber II
- House Robber III
- Partition Equal Subset Sum
- Longest Palindrome
- Minimum Path Sum
- Unique Paths
- Unique Paths II
- Regular Expression Matching
- Maximal Square
- Word Break
- Word Break II
- Trapping Rain Water
- Wildcard Matching
- Jump Game
- Jump Game II
- Super Egg Drop
- Target Sum
- Longest Common Subsequence
- Create Maximum Number
- Swap For Longest Repeated Character Substring
- Minimum Insertion Steps to Make a String Palindrome
- Non-overlapping Intervals
- Longest Palindromic Subsequence
- Binary Search
- Search Insert Position
- Two Sum II - Input array is sorted
- Search in Rotated Sorted Array
- Search in Rotated Sorted Array II
- Find First and Last Position of Element in Sorted Array
- Search a 2D Matrix
- Search a 2D Matrix II
- Find Minimum in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array II
- Find Peak Element
- Minimum Size Subarray Sum
- Median of Two Sorted Arrays
- Peak Index in a Mountain Array
- Divide Two Integers
- String
- ZigZag Conversion
- String to Integer (atoi)
- Roman to Integer
- Integer to Roman
- Letter Combinations of a Phone Number
- Next Permutation
- Count and Say
- Two Pointers