๐ณ Interview Prep
Trees, Graphs & DP
Trees, heaps, tries, graphs, backtracking and dynamic programming: what separates a pass from a strong pass at big tech.
๐ Learn it from scratch
Visual, hands-on lessons for every pattern in this topic. Do the lesson, then come back and the questions click.
100 questions, most asked first
Ranked by how often each question comes up in real interviews. #1 is the most common.
All patternsTree DFSTree BFSBSTGrid graph1D DPHeapGraph BFS/DFSTopological sortBacktracking2D DPTrieUnion-findShortest pathRecursion
#1โจ๏ธMaximum Depth of Binary TreeTree DFSEasyFree#2โจ๏ธInvert Binary TreeTree DFSEasyFree#3โจ๏ธSame TreeTree DFSEasyFree#4โจ๏ธBinary Tree Level Order TraversalTree BFSMediumFree#5โจ๏ธValidate Binary Search TreeBSTMediumFree#6โจ๏ธLowest Common Ancestor of a BSTBSTMediumFree#7โจ๏ธNumber of IslandsGrid graphMediumFree#8โจ๏ธClimbing Stairs1D DPEasyFree#9โจ๏ธCoin Change1D DPMediumFree#10โจ๏ธKth Largest Element in an ArrayHeapMediumFree๐Unlock 90 more Trees, Graphs & DP questions ยท all 1,200 questions for $39/year (about 11ยข a day)See full access#11โจ๏ธSubtree of Another TreeTree DFSEasy๐#12โจ๏ธDiameter of Binary TreeTree DFSEasy๐#13โจ๏ธBalanced Binary TreeTree DFSEasy๐#14โจ๏ธBinary Tree Right Side ViewTree BFSMedium๐#15โจ๏ธKth Smallest Element in a BSTBSTMedium๐#16โจ๏ธConstruct Binary Tree from Preorder and InorderTree DFSMedium๐#17โจ๏ธSerialize and Deserialize Binary TreeTree BFSHard๐#18โจ๏ธBinary Tree Maximum Path SumTree DFSHard๐#19โจ๏ธLowest Common Ancestor of a Binary TreeTree DFSMedium๐#20โจ๏ธClone GraphGraph BFS/DFSMedium๐#21โจ๏ธCourse ScheduleTopological sortMedium๐#22โจ๏ธCourse Schedule IITopological sortMedium๐#23โจ๏ธPacific Atlantic Water FlowGrid graphMedium๐#24โจ๏ธRotting OrangesGrid graphMedium๐#25โจ๏ธMax Area of IslandGrid graphMedium๐#26โจ๏ธWord SearchBacktrackingMedium๐#27โจ๏ธSubsetsBacktrackingMedium๐#28โจ๏ธPermutationsBacktrackingMedium๐#29โจ๏ธCombination SumBacktrackingMedium๐#30โจ๏ธGenerate ParenthesesBacktrackingMedium๐#31โจ๏ธHouse Robber1D DPMedium๐#32โจ๏ธHouse Robber II1D DPMedium๐#33โจ๏ธLongest Increasing Subsequence1D DPMedium๐#34โจ๏ธWord Break1D DPMedium๐#35โจ๏ธDecode Ways1D DPMedium๐#36โจ๏ธUnique Paths2D DPMedium๐#37โจ๏ธLongest Common Subsequence2D DPMedium๐#38โจ๏ธEdit Distance2D DPMedium๐#39โจ๏ธLongest Palindromic Substring2D DPMedium๐#40โจ๏ธPalindromic Substrings2D DPMedium๐#41โจ๏ธImplement Trie (Prefix Tree)TrieMedium๐#42โจ๏ธDesign Add and Search WordsTrieMedium๐#43โจ๏ธWord Search IITrieHard๐#44โจ๏ธFind Median from Data StreamHeapHard๐#45โจ๏ธK Closest Points to OriginHeapMedium๐#46โจ๏ธLast Stone WeightHeapEasy๐#47โจ๏ธTask SchedulerHeapMedium๐#48โจ๏ธNumber of Connected Components in a GraphUnion-findMedium๐#49โจ๏ธGraph Valid TreeUnion-findMedium๐#50โจ๏ธRedundant ConnectionUnion-findMedium๐#51โจ๏ธNetwork Delay TimeShortest pathMedium๐#52โจ๏ธCheapest Flights Within K StopsShortest pathMedium๐#53โจ๏ธWord LadderGraph BFS/DFSHard๐#54โจ๏ธAlien DictionaryTopological sortHard๐#55โจ๏ธSurrounded RegionsGrid graphMedium๐#56โจ๏ธShortest Path in Binary MatrixGrid graphMedium๐#57โจ๏ธN-QueensBacktrackingHard๐#58โจ๏ธLetter Combinations of a Phone NumberBacktrackingMedium๐#59โจ๏ธCombination Sum IIBacktrackingMedium๐#60โจ๏ธSubsets IIBacktrackingMedium๐#61โจ๏ธPalindrome PartitioningBacktrackingMedium๐#62โจ๏ธMin Cost Climbing Stairs1D DPEasy๐#63โจ๏ธMaximum Product Subarray1D DPMedium๐#64โจ๏ธPartition Equal Subset Sum1D DPMedium๐#65โจ๏ธCoin Change II1D DPMedium๐#66โจ๏ธTarget Sum1D DPMedium๐#67โจ๏ธMinimum Path Sum2D DPMedium๐#68โจ๏ธLongest Increasing Path in a Matrix2D DPHard๐#69โจ๏ธInterleaving String2D DPMedium๐#70โจ๏ธBest Time to Buy and Sell Stock with Cooldown2D DPMedium๐#71โจ๏ธMaximal Square2D DPMedium๐#72โจ๏ธBinary Tree Inorder Traversal (Iterative)Tree DFSEasy๐#73โจ๏ธSymmetric TreeTree DFSEasy๐#74โจ๏ธPath SumTree DFSEasy๐#75โจ๏ธPath Sum IIBacktrackingMedium๐#76โจ๏ธCount Good Nodes in Binary TreeTree DFSMedium๐#77โจ๏ธConvert Sorted Array to Balanced BSTBSTEasy๐#78โจ๏ธDelete Node in a BSTBSTMedium๐#79โจ๏ธInsert into a BSTBSTMedium๐#80โจ๏ธBinary Tree Zigzag Level Order TraversalTree BFSMedium๐#81โจ๏ธAverage of Levels in Binary TreeTree BFSEasy๐#82โจ๏ธMinimum Depth of Binary TreeTree BFSEasy๐#83โจ๏ธFlatten Binary Tree to Linked ListTree DFSMedium๐#84โจ๏ธSum Root to Leaf NumbersTree DFSMedium๐#85โจ๏ธAll Nodes Distance K in Binary TreeGraph BFS/DFSMedium๐#86โจ๏ธIs Graph Bipartite?Graph BFS/DFSMedium๐#87โจ๏ธKeys and RoomsGraph BFS/DFSMedium๐#88โจ๏ธFind the Town JudgeGraph BFS/DFSEasy๐#89โจ๏ธEvaluate DivisionGraph BFS/DFSMedium๐#90โจ๏ธAccounts MergeUnion-findMedium๐#91โจ๏ธJump Game II1D DPMedium๐#92โจ๏ธMin Cost to Connect All PointsUnion-findMedium๐#93โจ๏ธSwim in Rising WaterShortest pathHard๐#94โจ๏ธPath With Minimum EffortShortest pathMedium๐#95โจ๏ธFibonacci Number (Recursion โ Memo โ DP)RecursionEasy๐#96โจ๏ธLetter Case PermutationBacktrackingMedium๐#97โจ๏ธBurst Balloons2D DPHard๐#98โจ๏ธRegular Expression Matching2D DPHard๐#99โจ๏ธReconstruct ItineraryGraph BFS/DFSHard๐#100โจ๏ธUnique Binary Search Trees1D DPMedium๐