Basic things you should know, or be familiar with.

See all basic problems:

- LintCode: Word Sorting
- LintCode: Valid Array
- LintCode: Take the element and query the sum
- LintCode: Swap Two Integers in Array
- LintCode: Student Level
- LintCode: Student ID
- LintCode: String to Integer
- LintCode: Sort Integers
- LintCode: Simple Calculator
- LintCode: Second Max of Array
- LintCode: Same Number
- LintCode: Reverse Array
- LintCode: Reverse 3-digit Integer
- LintCode: Rearrange
- LintCode: Radar Detection
- LintCode: Prime Product
- Lintcode: Number Pair Statistics
- LintCode: Middle of Linked List
- LintCode: Max of 3 Numbers
- LintCode: Lowercase to Uppercase II
- LintCode: Leftmost One
- LintCode: K Decimal Addition
- LintCode: Judging Triangle
- LintCode: Island City
- LintCode: Interval Search
- LintCode: Insert Node in Sorted Linked List
- LintCode: Input Stream
- LintCode: Implement Queue by Circular Array
- LintCode: Hex Conversion
- LintCode: Generate ArrayList with Given Size
- LintCode: Function Runtime
- LintCode: Friend Request
- LintCode: Find Node in Linked List
- LintCode: Digital Problem
- LintCode: Deliver The Message
- LintCode: Delete Characters
- LintCode: Data Segmentation
- LintCode: Count Linked List Nodes
- LintCode: Convert Linked List to Array List
- LintCode: Convert Array List to Linked List
- LintCode: Coin Problem
- LintCode: Char to Integer
- LintCode: Binary Tree Maximum Node
- LintCode: Big Business
- Leetcode: X of a Kind in a Deck of Cards
- Leetcode: Word Pattern II
- Leetcode: Word Pattern
- Leetcode: Word Ladder
- Leetcode: Wiggle Sort II
- Leetcode: Verifying an Alien Dictionary
- Leetcode: Verify Preorder Serialization of a Binary Tree
- Leetcode: Validate Stack Sequences
- Leetcode: Validate Binary Search Tree
- Leetcode: Valid Word Abbreviation
- Leetcode: Valid Sudoku
- Leetcode: Valid Parentheses
- Leetcode: Valid Palindrome II
- Leetcode: Valid Palindrome
- Leetcode: Valid Mountain Array
- Leetcode: Valid Boomerang
- Leetcode: Valid Anagram
- Leetcode: Univalued Binary Tree
- Leetcode: Unique Paths
- Leetcode: Unique Morse Code Words
- Leetcode: Unique Email Addresses
- Leetcode: Uncommon Words from Two Sentences
- Leetcode: Two Sum IV – Input is a BST
- Leetcode: Two Sum
- Leetcode: Two City Scheduling
- Leetcode: Twitch Words
- Leetcode: Trim a Binary Search Tree
- Leetcode: Triangle Judgement
- Leetcode: Transpose Matrix
- Leetcode: Top K Frequent Words
- Leetcode: Top K Frequent Elements
- Leetcode: Toeplitz Matrix
- Leetcode: To Lower Case
- Leetcode: Third Maximum Number
- Leetcode: Swap Nodes in Pairs
- Leetcode: Summary Ranges
- Leetcode: Sum Root to Leaf Numbers
- Leetcode: Sum of Left Leaves
- Leetcode: Sum of Even Numbers After Queries
- Leetcode: Subsets
- Leetcode: Subdomain Visit Count
- Leetcode: Subarray Sum Equals K
- Leetcode: Student Attendance Record I
- Leetcode: Strobogrammatic Number
- Leetcode: String Without AAA or BBB
- Leetcode: String to Integer (atoi)
- Leetcode: String Compression
- Leetcode: Stream of Characters
- Leetcode: Split Array Largest Sum
- Leetcode: Sort List
- Leetcode: Sort Colors
- Leetcode: Sort Characters By Frequency
- Leetcode: Sort Array By Parity II
- Leetcode: Sort Array By Parity
- Leetcode: Smallest Range I
- Leetcode: Sliding Window Maximum
- Leetcode: Sliding Puzzle
- Leetcode: Single Number
- Leetcode: Simplify Path
- Leetcode: Similar RGB Color
- Leetcode: Shortest Word Distance
- Leetcode: Shortest Distance to a Character
- Leetcode: Shortest Distance in a Plane
- Leetcode: Set Mismatch
- Leetcode: Serialize and Deserialize BST
- Leetcode: Sentence Similarity
- Leetcode: Second Minimum Node In a Binary Tree
- Leetcode: Search Insert Position
- Leetcode: Search in a Binary Search Tree
- Leetcode: Satisfiability of Equality Equations
- Leetcode: Rotting Oranges
- Leetcode: Rotated Digits
- Leetcode: Rotate String
- Leetcode: Rotate Image
- Leetcode: Rotate Array
- Leetcode: Roman to Integer
- Leetcode: Robot Bounded In Circle
- Leetcode: Reverse Words in a String III
- Leetcode: Reverse Words in a String
- Leetcode: Reverse Vowels of a String
- Leetcode: Reverse String II
- Leetcode: Reverse String
- Leetcode: Reverse Only Letters
- Leetcode: Reverse Linked List II
- Leetcode: Reverse Linked List
- Leetcode: Reverse Integer
- Leetcode: Reverse Bits
- Leetcode: Restore IP Addresses
- Leetcode: Reshape the Matrix
- Leetcode: Repeated DNA Sequences
- Leetcode: Remove Nth Node From End of List
- Leetcode: Remove Linked List Elements
- Leetcode: Remove Element
- Leetcode: Remove Duplicates from Sorted List
- Leetcode: Regular Expression Matching
- Leetcode: Rectangle Overlap
- Leetcode: Read N Characters Given Read4
- Leetcode: Ransom Note
- Leetcode: Previous Permutation With One Swap
- Leetcode: Pow(x, n)
- Leetcode: Positions of Large Groups
- Leetcode: Plus One Linked List
- Leetcode: Plus One
- Leetcode: Permutations II
- Leetcode: Permutations
- Leetcode: Peak Index in a Mountain Array
- Leetcode: Pascal’s Triangle II
- Leetcode: Pascal Triangle
- Leetcode: Partition List
- Leetcode: Partition Labels
- Leetcode: Partition Array Into Three Parts With Equal Sum
- Leetcode: Palindrome Partitioning
- Leetcode: Palindrome Number
- Leetcode: Pairs of Songs With Total Durations Divisible by 60
- Leetcode: Out of Boundary Paths
- Leetcode: Online Election
- Leetcode: Odd Even Linked List
- Leetcode: Occurrences After Bigram
- Leetcode: Numbers At Most N Given Digit Set
- Leetcode: Number of Segments in a String
- Leetcode: Number of Recent Calls
- Leetcode: Number of Longest Increasing Subsequence
- Leetcode: Number of Lines To Write String
- Leetcode: Number of Islands
- Leetcode: Number of 1 Bits
- Leetcode: Number Complement
- Leetcode: Nth Magical Number
- Leetcode: Non-decreasing Array
- Leetcode: Nested List Weight Sum
- Leetcode: N-Repeated Element in Size 2N Array
- Leetcode: N-Queens II
- Leetcode: N-ary Tree Preorder Traversal
- Leetcode: N-ary Tree Postorder Traversal
- Leetcode: N-ary Tree Level Order Traversal
- Leetcode: My Calendar I
- Leetcode: Moving Stones Until Consecutive
- Leetcode: Moving Average from Data Stream
- Leetcode: Move Zeroes
- Leetcode: Most Stones Removed with Same Row or Column
- Leetcode: Most Common Word
- Leetcode: Missing Ranges
- Leetcode: Minimum Time Difference
- Leetcode: Minimum Path Sum
- Leetcode: Minimum Depth of Binary Tree
- Leetcode: Minimum Cost to Hire K Workers
- Leetcode: Minimum Absolute Difference in BST
- Leetcode: Mini Parser
- Leetcode: Min Cost Climbing Stairs
- Leetcode: Middle of the Linked List
- Leetcode: Merge Two Sorted Lists
- Leetcode: Merge Sorted Array
- Leetcode: Merge Intervals
- Leetcode: Maximum Width Ramp
- Leetcode: Maximum Distance in Arrays
- Leetcode: Maximum Depth of N-ary Tree
- Leetcode: Maximum Depth of Binary Tree
- Leetcode: Maximum Binary Tree
- Leetcode: Maximum Average Subarray I
- Leetcode: Maximize Distance to Closest Person
- Leetcode: Max Consecutive Ones
- Leetcode: Magic Squares In Grid
- Leetcode: Lowest Common Ancestor of a Binary Tree
- Leetcode: Lowest Common Ancestor of a Binary Search Tree
- Leetcode: Longest Word in Dictionary
- Leetcode: Longest Univalue Path
- Leetcode: Longest Palindromic Substring
- Leetcode: Longest Palindrome
- Leetcode: Longest Increasing Subsequence
- Leetcode: Longest Harmonious Subsequence
- Leetcode: Longest Continuous Increasing Subsequence
- Leetcode: Longest Common Prefix
- Leetcode: Long Pressed Name
- Leetcode: Logger Rate Limiter
- Leetcode: Linked List Cycle
- Leetcode: Linked List Components
- Leetcode: License Key Formatting
- Leetcode: Letter Combinations of a Phone Number
- Leetcode: Letter Case Permutation
- Leetcode: Length of Last Word
- Leetcode: Lemonade Change
- Leetcode: Last Stone Weight
- Leetcode: Largest Time for Given Digits
- Leetcode: Largest Perimeter Triangle
- Leetcode: Kth Smallest Number in Multiplication Table
- Leetcode: Kth Largest Element in an Array
- Leetcode: Keyboard Row
- Leetcode: K-diff Pairs in an Array
- Leetcode: K Closest Points to Origin
- Leetcode: Jump Game
- Leetcode: Jewels and Stones
- Leetcode: Isomorphic Strings II
- Leetcode: Is Subsequence
- Leetcode: IP to CIDR
- Leetcode: Invert Binary Tree
- Leetcode: Intersection of Two Linked Lists
- Leetcode: Intersection of Two Arrays II
- Leetcode: Intersection of Two Arrays
- Leetcode: Integer to Roman
- Leetcode: Insufficient Nodes in Root to Leaf Paths
- Leetcode: Insertion Sort List
- Leetcode: Insert into a Binary Search Tree
- Leetcode: Insert Interval
- Leetcode: Increasing Order Search Tree
- Leetcode: Implement Trie (Prefix Tree)
- Leetcode: Implement strStr()
- Leetcode: Height Checker
- Leetcode: Graph Valid Tree
- Leetcode: Goat Latin
- Leetcode: Generate Parentheses
- Leetcode: Fruit Into Baskets
- Leetcode: Friend Requests I: Overall Acceptance Rate
- Leetcode: Flower Planting With No Adjacent
- Leetcode: Flood Fill
- Leetcode: Flipping an Image
- Leetcode: Flip Game II
- Leetcode: Flip Game
- Leetcode: Flatten Binary Tree to Linked List
- Leetcode: Fizz Buzz
- Leetcode: First Unique Character in a String
- Leetcode: First Bad Version
- Leetcode: Find the Town Judge
- Leetcode: Find Smallest Letter Greater Than Target
- Leetcode: Find Pivot Index
- Leetcode: Find Peak Element
- Leetcode: Find K-th Smallest Pair Distance
- Leetcode: Find Duplicate Subtrees
- Leetcode: Find Duplicate File in System
- Leetcode: Find Common Characters
- Leetcode: Find Bottom Left Tree Value
- Leetcode: Find and Replace Pattern
- Leetcode: Find All Numbers Disappeared in an Array
- Leetcode: Find All Duplicates in an Array
- Leetcode: Find All Anagrams in a String
- Leetcode: Fibonacci Number
- Leetcode: Fair Candy Swap
- Leetcode: Factor Combinations
- Leetcode: Exclusive Time of Functions
- Leetcode: Excel Sheet Column Number
- Leetcode: Evaluate Reverse Polish Notation
- Leetcode: Encode and Decode TinyURL
- Leetcode: Employee Importance
- Leetcode: Duplicate Zeros
- Leetcode: Dota2 Senate
- Leetcode: Distribute Candies
- Leetcode: Distant Barcodes
- Leetcode: Directed Graph Loop
- Leetcode: Diagonal Traverse
- Leetcode: DI String Match
- Leetcode: Detect Capital
- Leetcode: Design HashSet
- Leetcode: Design HashMap
- Leetcode: Delete Columns to Make Sorted II
- Leetcode: Delete and Earn
- Leetcode: Degree of an Array
- Leetcode: Custom Sort String
- Leetcode: Cousins in Binary Tree
- Leetcode: Count of Smaller Numbers After Self
- Leetcode: Convert Sorted Array to Binary Search Tree
- Leetcode: Convert BST to Greater Tree
- Leetcode: Convert a Number to Hexadecimal
- Leetcode: Contains Duplicate
- Leetcode: Construct the Rectangle
- Leetcode: Construct String from Binary Tree
- Leetcode: Construct Binary Tree from Preorder and Postorder Traversal
- Leetcode: Construct Binary Tree from Preorder and Inorder Traversal
- Leetcode: Construct Binary Tree from Inorder and Postorder Traversal
- Leetcode: Complex Number Multiplication
- Leetcode: Complement of Base 10 Integer
- Leetcode: Combinations
- Leetcode: Combination Sum
- Leetcode: Coin Change
- Leetcode: Closest Binary Search Tree Value
- Leetcode: Clone Graph
- Leetcode: Bus Routes
- Leetcode: Bulls and Cows
- Leetcode: Buddy Strings
- Leetcode: Broken Calculator
- Leetcode: Bold Words in String
- Leetcode: Binary Trees With Factors
- Leetcode: Binary Tree Upside Down
- Leetcode: Binary Tree Preorder Traversal
- Leetcode: Binary Tree Postorder Traversal
- Leetcode: Binary Tree Level Order Traversal
- Leetcode: Binary Tree Inorder Traversal
- Leetcode: Binary String With Substrings Representing 1 To N
- Leetcode: Binary Search Tree to Greater Sum Tree
- Leetcode: Binary Search
- Leetcode: Binary Gap
- Leetcode: Best Sightseeing Pair
- Leetcode: Battleships in a Board
- Leetcode: Basic Calculator IV
- Leetcode: Baseball Game
- Leetcode: Base 7
- Leetcode: Balanced Binary Tree
- Leetcode: Bag of Tokens
- Leetcode: Backspace String Compare
- Leetcode: Available Captures for Rook
- Leetcode: Array of Doubled Pairs
- Leetcode: Arranging Coins
- Leetcode: All Paths From Source to Target
- Leetcode: Alien Dictionary
- Leetcode: Add Two Numbers II
- Leetcode: Add Two Numbers
- Leetcode: Add to Array-Form of Integer
- Leetcode: Add Strings
- Leetcode: Add Binary
- Leetcode: Accounts Merge
- Leetcode: 1-bit and 2-bit Characters
- Find Largest Value in Each Tree Row

Algorithms & Skills:

More Resources:

See more blog_posts.

Share It, If You Like It.