TikTok Interview Questions — 100 DSA Problems
98 problems with full solutions in Python, Java, C++, JavaScript, Go, Rust.
Most frequently asked TikTok LeetCode questions for software engineering interviews.
- LRU Cache (MEDIUM) — Hash Table, Linked List, Design, Doubly-Linked List
- Merge Intervals (MEDIUM) — Array, Sorting
- Longest Substring Without Repeating Characters (MEDIUM) — Hash Table, String, Sliding Window
- Trapping Rain Water (HARD) — Array, Two Pointers, Dynamic Programming, Stack, Monotonic Stack
- Merge k Sorted Lists (HARD) — Linked List, Divide and Conquer, Heap (Priority Queue), Merge Sort
- Minimum Window Substring (HARD) — Hash Table, String, Sliding Window
- Word Search (MEDIUM) — Array, String, Backtracking, Depth-First Search, Matrix
- Search in Rotated Sorted Array (MEDIUM) — Array, Binary Search
- Longest Palindromic Substring (MEDIUM) — Two Pointers, String, Dynamic Programming
- N-Queens (HARD) — Array, Backtracking
- Restore IP Addresses (MEDIUM) — String, Backtracking
- 3Sum (MEDIUM) — Array, Two Pointers, Sorting
- Combination Sum (MEDIUM) — Array, Backtracking
- Word Ladder (HARD) — Hash Table, String, Breadth-First Search
- Sqrt(x) (EASY) — Math, Binary Search
- Best Time to Buy and Sell Stock (EASY) — Array, Dynamic Programming
- Text Justification (HARD) — Array, String, Simulation
- Valid Parentheses (EASY) — String, Stack
- Binary Tree Maximum Path Sum (HARD) — Dynamic Programming, Tree, Depth-First Search, Binary Tree
- Sort Colors (MEDIUM) — Array, Two Pointers, Sorting
- Find Peak Element (MEDIUM) — Array, Binary Search
- Spiral Matrix (MEDIUM) — Array, Matrix, Simulation
- Two Sum (EASY) — Array, Hash Table
- Word Break II (HARD) — Array, Hash Table, String, Dynamic Programming, Backtracking, Trie, Memoization
- Construct Binary Tree from Preorder and Inorder Traversal (MEDIUM) — Array, Hash Table, Divide and Conquer, Tree, Binary Tree
- Combination Sum II (MEDIUM) — Array, Backtracking
- Permutations (MEDIUM) — Array, Backtracking
- Generate Parentheses (MEDIUM) — String, Dynamic Programming, Backtracking
- Maximum Subarray (MEDIUM) — Array, Divide and Conquer, Dynamic Programming
- Edit Distance (MEDIUM) — String, Dynamic Programming
- Find First and Last Position of Element in Sorted Array (MEDIUM) — Array, Binary Search
- Container With Most Water (MEDIUM) — Array, Two Pointers, Greedy
- Reverse Nodes in k-Group (HARD) — Linked List, Recursion
- Regular Expression Matching (HARD) — String, Dynamic Programming, Recursion
- Word Break (MEDIUM) — Array, Hash Table, String, Dynamic Programming, Trie, Memoization
- Longest Consecutive Sequence (MEDIUM) — Array, Hash Table, Union Find
- Best Time to Buy and Sell Stock II (MEDIUM) — Array, Dynamic Programming, Greedy
- Jump Game (MEDIUM) — Array, Dynamic Programming, Greedy
- Subsets (MEDIUM) — Array, Backtracking, Bit Manipulation
- Decode Ways (MEDIUM) — String, Dynamic Programming
- Group Anagrams (MEDIUM) — Array, Hash Table, String, Sorting
- Merge Sorted Array (EASY) — Array, Two Pointers, Sorting
- Reorder List (MEDIUM) — Linked List, Two Pointers, Stack, Recursion
- Unique Binary Search Trees (MEDIUM) — Math, Dynamic Programming, Tree, Binary Search Tree, Binary Tree
- Longest Common Prefix (EASY) — String, Trie
- Validate Binary Search Tree (MEDIUM) — Tree, Depth-First Search, Binary Search Tree, Binary Tree
- Next Permutation (MEDIUM) — Array, Two Pointers
- Integer to Roman (MEDIUM) — Hash Table, Math, String
- Minimum Path Sum (MEDIUM) — Array, Dynamic Programming, Matrix
- Parallel Courses III (HARD) — Array, Dynamic Programming, Graph, Topological Sort
T
TikTok
100 questions tracked98 with solutions
Frequency scoreSorted highest → lowest frequency✓ Our Solution = we have a detailed walkthrough
Showing 100 of 100 questions
1Hash TableLinked ListDesignDoubly-Linked List
3Hash TableStringSliding Window
4ArrayTwo PointersDynamic ProgrammingStack+1
5Linked ListDivide and ConquerHeap (Priority Queue)Merge Sort
6Hash TableStringSliding Window
7ArrayStringBacktrackingDepth-First Search+1
9Two PointersStringDynamic Programming
14Hash TableStringBreadth-First Search
19Dynamic ProgrammingTreeDepth-First SearchBinary Tree
24ArrayHash TableStringDynamic Programming+3
25MediumConstruct Binary Tree from Preorder and Inorder Traversal✓ Our Solution ArrayHash TableDivide and ConquerTree+1
28StringDynamic ProgrammingBacktracking
29ArrayDivide and ConquerDynamic Programming
30StringDynamic Programming
31MediumFind First and Last Position of Element in Sorted Array✓ Our Solution ArrayBinary Search
34StringDynamic ProgrammingRecursion
35ArrayHash TableStringDynamic Programming+2
36ArrayHash TableUnion Find
37ArrayDynamic ProgrammingGreedy
38ArrayDynamic ProgrammingGreedy
39ArrayBacktrackingBit Manipulation
40StringDynamic Programming
41ArrayHash TableStringSorting
43Linked ListTwo PointersStackRecursion
44MathDynamic ProgrammingTreeBinary Search Tree+1
46TreeDepth-First SearchBinary Search TreeBinary Tree
49ArrayDynamic ProgrammingMatrix
50ArrayDynamic ProgrammingGraphTopological Sort
51ArrayBinary SearchDivide and Conquer
52ArrayDepth-First SearchBreadth-First SearchUnion Find+1
53Linked ListTwo PointersDivide and ConquerSorting+1
55ArrayHash TableStringGraph+1
58TreeBreadth-First SearchBinary Tree
61MediumLongest Substring with At Most Two Distinct Characters
Hash TableStringSliding Window
63MediumStep-By-Step Directions From a Binary Tree Node to Another✓ Our Solution StringTreeDepth-First SearchBinary Tree
64StringDynamic ProgrammingStack
66MathDynamic ProgrammingMemoization
67Hash TableLinked ListTwo Pointers
70ArrayDynamic ProgrammingGreedy
72StringDynamic Programming
75ArrayBinary SearchSorting
78Hash TableStringBacktrackingBreadth-First Search
82BacktrackingTreeDepth-First SearchBinary Tree
83TreeBreadth-First SearchBinary Tree
86Hash TableLinked ListTwo Pointers
89TreeDepth-First SearchBreadth-First SearchBinary Tree
90ArrayDynamic ProgrammingStackMatrix+1
92StringDynamic Programming
93Hash TableDepth-First SearchBreadth-First SearchGraph
94TreeDepth-First SearchBinary Search TreeBinary Tree
95ArrayBacktrackingBit Manipulation
97MathDynamic ProgrammingCombinatorics
100ArrayStackMonotonic Stack