← All patterns
Trees

BFS (Level Order Traversal)

306 practice questions|Medium

When to use it

Traverse tree nodes row-by-row using a queue.

Key Signals & Indicators

  • Need to traverse a tree layer-by-layer (level order)
  • Finding short paths, boundary structures, level stats
  • Requires tracking values grouped by height level

Pattern Boilerplate

c++
// C++ Tree Level Order BFS Template
#include <vector>
#include <queue>

struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
};

std::vector<std::vector<int>> levelOrderBFS(TreeNode* root) {
    if (!root) return {};
    
    std::vector<std::vector<int>> result;
    std::queue<TreeNode*> q;
    q.push(root);
    
    while (!q.empty()) {
        int levelSize = q.size();
        std::vector<int> currentLevel;
        
        for (int i = 0; i < levelSize; ++i) {
            TreeNode* node = q.front();
            q.pop();
            currentLevel.push_back(node->val);
            
            if (node->left) q.push(node->left);
            if (node->right) q.push(node->right);
        }
        result.push_back(currentLevel);
    }
    return result;
}

Problems using this pattern

1Add One Row to TreeMedium
TreeDepth-First SearchBreadth-First Search
Solve →
2All Elements in Two Binary Search TreesMedium
TreeDepth-First SearchBinary Search Tree
Solve →
3All Nodes Distance K in Binary TreeMedium
Hash TableTreeDepth-First Search
Solve →
4All Possible Full Binary TreesMedium
Dynamic ProgrammingTreeRecursion
Solve →
5Amount of New Area Painted Each DayHard
ArraySegment TreeOrdered Set
Solve →
6Amount of Time for Binary Tree to Be InfectedMedium
Hash TableTreeDepth-First Search
Solve →
7Average of Levels in Binary TreeEasy
TreeDepth-First SearchBreadth-First Search
Solve →
8Balance a Binary Search TreeMedium
Divide and ConquerGreedyTree
Solve →
9Balanced Binary TreeEasy
TreeDepth-First SearchBinary Tree
Solve →
10Binary Search Tree Iterator IIMedium
StackTreeDesign
Solve →
11Binary Search Tree IteratorMedium
StackTreeDesign
Solve →
12Binary Search Tree to Greater Sum TreeMedium
TreeDepth-First SearchBinary Search Tree
Solve →
13Binary Tree CamerasHard
Dynamic ProgrammingTreeDepth-First Search
Solve →
14Binary Tree Coloring GameMedium
TreeDepth-First SearchBinary Tree
Solve →
15Binary Tree Inorder TraversalEasy
StackTreeDepth-First Search
Solve →
16Binary Tree Level Order Traversal IIMedium
TreeBreadth-First SearchBinary Tree
Solve →
17Binary Tree Level Order TraversalMedium
TreeBreadth-First SearchBinary Tree
Solve →
18Binary Tree Longest Consecutive Sequence IIMedium
TreeDepth-First SearchBinary Tree
Solve →
19Binary Tree Longest Consecutive SequenceMedium
TreeDepth-First SearchBinary Tree
Solve →
20Binary Tree Maximum Path SumHard
Dynamic ProgrammingTreeDepth-First Search
Solve →
21Binary Tree PathsEasy
StringBacktrackingTree
Solve →
22Binary Tree Postorder TraversalEasy
StackTreeDepth-First Search
Solve →
23Binary Tree Preorder TraversalEasy
StackTreeDepth-First Search
Solve →
24Binary Tree PruningMedium
TreeDepth-First SearchBinary Tree
Solve →
25Binary Tree Right Side ViewMedium
TreeDepth-First SearchBreadth-First Search
Solve →
26Binary Tree TiltEasy
TreeDepth-First SearchBinary Tree
Solve →
27Binary Tree Upside DownMedium
TreeDepth-First SearchBinary Tree
Solve →
28Binary Tree Vertical Order TraversalMedium
Hash TableTreeDepth-First Search
Solve →
29Binary Tree Zigzag Level Order TraversalMedium
TreeBreadth-First SearchBinary Tree
Solve →
30Block Placement QueriesHard
ArrayBinary SearchBinary Indexed Tree
Solve →
31Booking Concert Tickets in GroupsHard
Binary SearchDesignBinary Indexed Tree
Solve →
32Boundary of Binary TreeMedium
TreeDepth-First SearchBinary Tree
Solve →
33Build Binary Expression Tree From Infix ExpressionHard
StringStackTree
Solve →
34Change the Root of a Binary TreeMedium
TreeDepth-First SearchBinary Tree
Solve →
35Check Completeness of a Binary TreeMedium
TreeBreadth-First SearchBinary Tree
Solve →
36Check if DFS Strings Are PalindromesHard
ArrayHash TableString
Solve →
37Check If Two Expression Trees are EquivalentMedium
Hash TableTreeDepth-First Search
Solve →
38Checking Existence of Edge Length Limited Paths IIHard
Depth-First SearchUnion-FindGraph Theory
Solve →
39Choose Edges to Maximize Score in a TreeMedium
Dynamic ProgrammingTreeDepth-First Search
Solve →
40Clone Binary Tree With Random PointerMedium
Hash TableTreeDepth-First Search
Solve →
41Clone N-ary TreeMedium
Hash TableTreeDepth-First Search
Solve →
42Closest Binary Search Tree Value IIHard
Two PointersStackTree
Solve →
43Closest Binary Search Tree ValueEasy
Binary SearchTreeDepth-First Search
Solve →
44Closest Leaf in a Binary TreeMedium
TreeDepth-First SearchBreadth-First Search
Solve →
45Closest Node to Path in TreeHard
ArrayTreeDepth-First Search
Solve →
46Closest Nodes Queries in a Binary Search TreeMedium
ArrayBinary SearchTree
Solve →
47Collect Coins in a TreeHard
ArrayTreeGraph Theory
Solve →
48Complete Binary Tree InserterMedium
TreeBreadth-First SearchDesign
Solve →
49Connecting Cities With Minimum CostMedium
Union-FindGraph TheoryHeap (Priority Queue)
Solve →
50Construct Binary Search Tree from Preorder TraversalMedium
ArrayStackTree
Solve →
51Construct Binary Tree from Inorder and Postorder TraversalMedium
ArrayHash TableDivide and Conquer
Solve →
52Construct Binary Tree from Preorder and Inorder TraversalMedium
ArrayHash TableDivide and Conquer
Solve →
53Construct Binary Tree from Preorder and Postorder TraversalMedium
ArrayHash TableDivide and Conquer
Solve →
54Construct Binary Tree from StringMedium
StringStackTree
Solve →
55Construct Quad TreeMedium
ArrayDivide and ConquerTree
Solve →
56Construct String from Binary TreeMedium
StringTreeDepth-First Search
Solve →
57Convert Binary Search Tree to Sorted Doubly Linked ListMedium
Linked ListStackTree
Solve →
58Convert BST to Greater TreeMedium
TreeDepth-First SearchBinary Search Tree
Solve →
59Convert Sorted Array to Binary Search TreeEasy
ArrayDivide and ConquerTree
Solve →
60Convert Sorted List to Binary Search TreeMedium
Linked ListDivide and ConquerTree
Solve →
61Correct a Binary TreeMedium
Hash TableTreeDepth-First Search
Solve →
62Count Complete Tree NodesEasy
Binary SearchBit ManipulationTree
Solve →
63Count Good Nodes in Binary TreeMedium
TreeDepth-First SearchBreadth-First Search
Solve →
64Count Good Triplets in an ArrayHard
ArrayBinary SearchDivide and Conquer
Solve →
65Count Increasing QuadrupletsHard
ArrayDynamic ProgrammingBinary Indexed Tree
Solve →
66Count Integers in IntervalsHard
DesignSegment TreeOrdered Set
Solve →
67Count Nodes Equal to Average of SubtreeMedium
TreeDepth-First SearchBinary Tree
Solve →
68Count Nodes Equal to Sum of DescendantsMedium
TreeDepth-First SearchBinary Tree
Solve →
69Count Nodes With the Highest ScoreMedium
ArrayTreeDepth-First Search
Solve →
70Count Non-Decreasing Subarrays After K OperationsHard
ArrayStackSegment Tree
Solve →
71Count Number of Rectangles Containing Each PointMedium
ArrayHash TableBinary Search
Solve →
72Count Number of TeamsMedium
ArrayDynamic ProgrammingBinary Indexed Tree
Solve →
73Count of Range SumHard
ArrayBinary SearchDivide and Conquer
Solve →
74Count of Smaller Numbers After SelfHard
ArrayBinary SearchDivide and Conquer
Solve →
75Count Pairs of Connectable Servers in a Weighted Tree NetworkMedium
ArrayTreeDepth-First Search
Solve →
76Count Paths That Can Form a Palindrome in a TreeHard
Dynamic ProgrammingBit ManipulationTree
Solve →
77Count Subarrays With More Ones Than ZerosMedium
ArrayHash TableBinary Search
Solve →
78Count the Number of K-Big IndicesHard
ArrayBinary SearchDivide and Conquer
Solve →
79Count Univalue SubtreesMedium
TreeDepth-First SearchBinary Tree
Solve →
80Count Valid Paths in a TreeHard
MathDynamic ProgrammingTree
Solve →
81Count Ways to Build Rooms in an Ant ColonyHard
ArrayMathDynamic Programming
Solve →
82Cousins in Binary Tree IIMedium
Hash TableTreeDepth-First Search
Solve →
83Cousins in Binary TreeEasy
TreeDepth-First SearchBreadth-First Search
Solve →
84Create Binary Tree From DescriptionsMedium
ArrayHash TableTree
Solve →
85Create Components With Same ValueHard
ArrayMathTree
Solve →
86Create Sorted Array through InstructionsHard
ArrayBinary SearchDivide and Conquer
Solve →
87Cycle Length Queries in a TreeHard
ArrayTreeBinary Tree
Solve →
88Deepest Leaves SumMedium
TreeDepth-First SearchBreadth-First Search
Solve →
89Delete Leaves With a Given ValueMedium
TreeDepth-First SearchBinary Tree
Solve →
90Delete Node in a BSTMedium
TreeBinary Search TreeBinary Tree
Solve →
91Delete Nodes And Return ForestMedium
ArrayHash TableTree
Solve →
92Delete Tree NodesMedium
ArrayTreeDepth-First Search
Solve →
93Delivering Boxes from Storage to PortsHard
ArrayDynamic ProgrammingSegment Tree
Solve →
94Design an Expression Tree With Evaluate FunctionMedium
ArrayMathStack
Solve →
95Diameter of Binary TreeEasy
TreeDepth-First SearchBinary Tree
Solve →
96Diameter of N-Ary TreeMedium
TreeDepth-First Search
Solve →
97Difference Between Maximum and Minimum Price SumHard
ArrayDynamic ProgrammingTree
Solve →
98Distribute Coins in Binary TreeMedium
TreeDepth-First SearchBinary Tree
Solve →
99Distribute Elements Into Two Arrays IIHard
ArrayBinary Indexed TreeSegment Tree
Solve →
100Employee ImportanceMedium
ArrayHash TableTree
Solve →
101Equal Tree PartitionMedium
TreeDepth-First SearchBinary Tree
Solve →
102Evaluate Boolean Binary TreeEasy
TreeDepth-First SearchBinary Tree
Solve →
103Even Odd TreeMedium
TreeBreadth-First SearchBinary Tree
Solve →
104Extract Kth Character From The Rope TreeEasy
TreeDepth-First SearchBinary Tree
Solve →
105Falling SquaresHard
ArraySegment TreeOrdered Set
Solve →
106Fancy SequenceHard
MathDesignSegment Tree
Solve →
107Find a Corresponding Node of a Binary Tree in a Clone of That TreeEasy
TreeDepth-First SearchBreadth-First Search
Solve →
108Find a Value of a Mysterious Function Closest to TargetHard
ArrayBinary SearchBit Manipulation
Solve →
109Find All The Lonely NodesEasy
TreeDepth-First SearchBreadth-First Search
Solve →
110Find Bottom Left Tree ValueMedium
TreeDepth-First SearchBreadth-First Search
Solve →
111Find Building Where Alice and Bob Can MeetHard
ArrayBinary SearchStack
Solve →
112Find Critical and Pseudo-Critical Edges in Minimum Spanning TreeHard
Union-FindGraph TheorySorting
Solve →
113Find Diameter Endpoints of a TreeMedium
TreeBreadth-First SearchGraph Theory
Solve →
114Find Distance in a Binary TreeMedium
Hash TableTreeDepth-First Search
Solve →
115Find Duplicate SubtreesMedium
Hash TableTreeDepth-First Search
Solve →
116Find Elements in a Contaminated Binary TreeMedium
Hash TableTreeDepth-First Search
Solve →
117Find Largest Value in Each Tree RowMedium
TreeDepth-First SearchBreadth-First Search
Solve →
118Find Leaves of Binary TreeMedium
TreeDepth-First SearchBinary Tree
Solve →
119Find Minimum Diameter After Merging Two TreesHard
TreeDepth-First SearchBreadth-First Search
Solve →
120Find Mode in Binary Search TreeEasy
TreeDepth-First SearchBinary Search Tree
Solve →
121Find Nearest Right Node in Binary TreeMedium
TreeBreadth-First SearchBinary Tree
Solve →
122Find Number of Coins to Place in Tree NodesHard
Dynamic ProgrammingTreeDepth-First Search
Solve →
123Find Root of N-Ary TreeMedium
Hash TableBit ManipulationTree
Solve →
124Find Subarray With Bitwise OR Closest to KHard
ArrayBinary SearchBit Manipulation
Solve →
125Find the Last Marked Nodes in TreeHard
TreeDepth-First Search
Solve →
126Find the Level of Tree with Minimum SumMedium
TreeDepth-First SearchBreadth-First Search
Solve →
127Find the Longest Valid Obstacle Course at Each PositionHard
ArrayBinary SearchBinary Indexed Tree
Solve →
128Find the Maximum Sum of Node ValuesHard
ArrayDynamic ProgrammingGreedy
Solve →
129Find Weighted Median Node in TreeHard
ArrayBinary SearchDynamic Programming
Solve →
130Find X Value of Array IIHard
ArrayMathSegment Tree
Solve →
131Flatten Binary Tree to Linked ListMedium
Linked ListStackTree
Solve →
132Flatten Nested List IteratorMedium
StackTreeDepth-First Search
Solve →
133Flip Equivalent Binary TreesMedium
TreeDepth-First SearchBinary Tree
Solve →
134Frog Position After T SecondsHard
TreeDepth-First SearchBreadth-First Search
Solve →
135Fruits Into Baskets IIEasy
ArrayBinary SearchSegment Tree
Solve →
136Fruits Into Baskets IIIMedium
ArrayBinary SearchSegment Tree
Solve →
137Handling Sum Queries After UpdateHard
ArraySegment Tree
Solve →
138Height of Binary Tree After Subtree Removal QueriesHard
ArrayTreeDepth-First Search
Solve →
139House Robber IIIMedium
Dynamic ProgrammingTreeDepth-First Search
Solve →
140Increasing Order Search TreeEasy
StackTreeDepth-First Search
Solve →
141Inorder Successor in BST IIMedium
TreeBinary Search TreeBinary Tree
Solve →
142Inorder Successor in BSTMedium
TreeDepth-First SearchBinary Search Tree
Solve →
143Insert into a Binary Search TreeMedium
TreeBinary Search TreeBinary Tree
Solve →
144Insufficient Nodes in Root to Leaf PathsMedium
TreeDepth-First SearchBinary Tree
Solve →
145Invert Binary TreeEasy
TreeDepth-First SearchBreadth-First Search
Solve →
146K Empty SlotsHard
ArrayBinary Indexed TreeSegment Tree
Solve →
147K-th Largest Perfect Subtree Size in Binary TreeMedium
TreeDepth-First SearchSorting
Solve →
148Kill ProcessMedium
ArrayHash TableTree
Solve →
149Kth Ancestor of a Tree NodeHard
Binary SearchDynamic ProgrammingBit Manipulation
Solve →
150Kth Largest Element in a StreamEasy
TreeDesignBinary Search Tree
Solve →
151Kth Largest Sum in a Binary TreeMedium
TreeBreadth-First SearchSorting
Solve →
152Kth Smallest Element in a BSTMedium
TreeDepth-First SearchBinary Search Tree
Solve →
153Largest BST SubtreeMedium
Dynamic ProgrammingTreeDepth-First Search
Solve →
154Leaf-Similar TreesEasy
TreeDepth-First SearchBinary Tree
Solve →
155Linked List in Binary TreeMedium
Linked ListTreeDepth-First Search
Solve →
156Longest Balanced Subarray IMedium
ArrayHash TableDivide and Conquer
Solve →
157Longest Balanced Subarray IIHard
ArrayHash TableDivide and Conquer
Solve →
158Longest Increasing Subsequence IIHard
ArrayDivide and ConquerDynamic Programming
Solve →
159Longest Path With Different Adjacent CharactersHard
ArrayStringTree
Solve →
160Longest Special Path IIHard
ArrayHash TableTree
Solve →
161Longest Substring of One Repeating CharacterHard
ArrayStringSegment Tree
Solve →
162Longest Univalue PathMedium
TreeDepth-First SearchBinary Tree
Solve →
163Longest Uploaded PrefixMedium
Hash TableBinary SearchUnion-Find
Solve →
164Longest ZigZag Path in a Binary TreeMedium
Dynamic ProgrammingTreeDepth-First Search
Solve →
165Lowest Common Ancestor of a Binary Search TreeMedium
TreeDepth-First SearchBinary Search Tree
Solve →
166Lowest Common Ancestor of a Binary Tree IIMedium
TreeDepth-First SearchBinary Tree
Solve →
167Lowest Common Ancestor of a Binary Tree IIIMedium
Hash TableTwo PointersTree
Solve →
168Lowest Common Ancestor of a Binary Tree IVMedium
Hash TableTreeDepth-First Search
Solve →
169Lowest Common Ancestor of a Binary TreeMedium
TreeDepth-First SearchBinary Tree
Solve →
170Lowest Common Ancestor of Deepest LeavesMedium
Hash TableTreeDepth-First Search
Solve →
171Make Array EmptyHard
ArrayBinary SearchGreedy
Solve →
172Make Costs of Paths Equal in a Binary TreeMedium
ArrayDynamic ProgrammingGreedy
Solve →
173Maximize Subarray Sum After Removing All Occurrences of One ElementHard
ArrayDynamic ProgrammingSegment Tree
Solve →
174Maximize Subarrays After Removing One Conflicting PairHard
ArraySegment TreeEnumeration
Solve →
175Maximize Sum of Weights after Edge RemovalsHard
Dynamic ProgrammingTreeDepth-First Search
Solve →
176Maximize the Number of Target Nodes After Connecting Trees IMedium
TreeDepth-First SearchBreadth-First Search
Solve →
177Maximize the Number of Target Nodes After Connecting Trees IIHard
TreeDepth-First SearchBreadth-First Search
Solve →
178Maximum Area Rectangle With Point Constraints IMedium
ArrayMathBinary Indexed Tree
Solve →
179Maximum Area Rectangle With Point Constraints IIHard
ArrayMathBinary Indexed Tree
Solve →
180Maximum Average SubtreeMedium
TreeDepth-First SearchBinary Tree
Solve →
181Maximum Balanced Subsequence SumHard
ArrayBinary SearchDynamic Programming
Solve →
182Maximum Binary Tree IIMedium
TreeBinary Tree
Solve →
183Maximum Binary TreeMedium
ArrayDivide and ConquerStack
Solve →
184Maximum Depth of Binary TreeEasy
TreeDepth-First SearchBreadth-First Search
Solve →
185Maximum Depth of N-ary TreeEasy
TreeDepth-First SearchBreadth-First Search
Solve →
186Maximum Difference Between Node and AncestorMedium
TreeDepth-First SearchBinary Tree
Solve →
187Maximum Good Subtree ScoreHard
ArrayDynamic ProgrammingBit Manipulation
Solve →
188Maximum Level Sum of a Binary TreeMedium
TreeDepth-First SearchBreadth-First Search
Solve →
189Maximum Number of Intersections on the ChartHard
ArrayHash TableMath
Solve →
190Maximum Number of K-Divisible ComponentsHard
TreeDepth-First Search
Solve →
191Maximum Points After Collecting Coins From All NodesHard
ArrayDynamic ProgrammingBit Manipulation
Solve →
192Maximum Product of Splitted Binary TreeMedium
TreeDepth-First SearchBinary Tree
Solve →
193Maximum Profit from Trading Stocks with DiscountsHard
ArrayDynamic ProgrammingTree
Solve →
194Maximum Profitable Triplets With Increasing Prices IMedium
ArrayBinary Indexed TreeSegment Tree
Solve →
195Maximum Profitable Triplets With Increasing Prices IIHard
ArrayBinary Indexed TreeSegment Tree
Solve →
196Maximum Score After Applying Operations on a TreeMedium
Dynamic ProgrammingTreeDepth-First Search
Solve →
197Maximum Subgraph Score in a TreeHard
ArrayDynamic ProgrammingTree
Solve →
198Maximum Subtree of the Same ColorMedium
ArrayDynamic ProgrammingTree
Solve →
199Maximum Sum BST in Binary TreeHard
Dynamic ProgrammingTreeDepth-First Search
Solve →
200Maximum Sum of Subsequence With Non-adjacent ElementsHard
ArrayDivide and ConquerDynamic Programming
Solve →
201Maximum Width of Binary TreeMedium
TreeDepth-First SearchBreadth-First Search
Solve →
202Maximum XOR of Two Non-Overlapping SubtreesHard
TreeDepth-First SearchGraph Theory
Solve →
203Merge BSTs to Create Single BSTHard
ArrayHash TableTree
Solve →
204Merge Two Binary TreesEasy
TreeDepth-First SearchBreadth-First Search
Solve →
205Min Cost to Connect All PointsMedium
ArrayUnion-FindGraph Theory
Solve →
206Minimum Absolute Difference in BSTEasy
TreeDepth-First SearchBreadth-First Search
Solve →
207Minimum Depth of Binary TreeEasy
TreeDepth-First SearchBreadth-First Search
Solve →
208Minimum Distance Between BST NodesEasy
TreeDepth-First SearchBreadth-First Search
Solve →
209Minimum Edge Weight Equilibrium Queries in a TreeHard
ArrayTreeGraph Theory
Solve →
210Minimum Flips in Binary Tree to Get ResultHard
Dynamic ProgrammingTreeDepth-First Search
Solve →
211Minimum Fuel Cost to Report to the CapitalMedium
TreeDepth-First SearchBreadth-First Search
Solve →
212Minimum Increments to Equalize Leaf PathsMedium
ArrayDynamic ProgrammingTree
Solve →
213Minimum Number of Moves to Make PalindromeHard
Two PointersStringGreedy
Solve →
214Minimum Number of Operations to Sort a Binary Tree by LevelMedium
TreeBreadth-First SearchBinary Tree
Solve →
215Minimum Number of Valid Strings to Form Target IMedium
ArrayStringBinary Search
Solve →
216Minimum Score After Removals on a TreeHard
ArrayBit ManipulationTree
Solve →
217Minimum Stability Factor of ArrayHard
ArrayMathBinary Search
Solve →
218Minimum Sum of Values by Dividing ArrayHard
ArrayBinary SearchDynamic Programming
Solve →
219Minimum Time to Collect All Apples in a TreeMedium
Hash TableTreeDepth-First Search
Solve →
220Most Frequent Subtree SumMedium
Hash TableTreeDepth-First Search
Solve →
221Most Profitable Path in a TreeMedium
ArrayTreeDepth-First Search
Solve →
222Move Sub-Tree of N-Ary TreeHard
TreeDepth-First Search
Solve →
223My Calendar IMedium
ArrayBinary SearchDesign
Solve →
224My Calendar IIMedium
ArrayBinary SearchDesign
Solve →
225My Calendar IIIHard
Binary SearchDesignSegment Tree
Solve →
226N-ary Tree Level Order TraversalMedium
TreeBreadth-First Search
Solve →
227N-ary Tree Postorder TraversalEasy
StackTreeDepth-First Search
Solve →
228N-ary Tree Preorder TraversalEasy
StackTreeDepth-First Search
Solve →
229Number of Good Leaf Nodes PairsMedium
TreeDepth-First SearchBinary Tree
Solve →
230Number of Good PathsHard
ArrayHash TableTree
Solve →
231Number of Longest Increasing SubsequenceMedium
ArrayDynamic ProgrammingBinary Indexed Tree
Solve →
232Number of Nodes in the Sub-Tree With the Same LabelMedium
Hash TableTreeDepth-First Search
Solve →
233Number of Nodes With Value OneMedium
ArrayTreeDepth-First Search
Solve →
234Number of Pairs Satisfying InequalityHard
ArrayBinary SearchDivide and Conquer
Solve →
235Number of Subarrays With AND Value of KHard
ArrayBinary SearchBit Manipulation
Solve →
236Number Of Ways To Reconstruct A TreeHard
ArrayHash TableTree
Solve →
237Number of Ways to Reorder Array to Get Same BSTHard
ArrayMathDivide and Conquer
Solve →
238Online Majority Element In SubarrayHard
ArrayBinary SearchDesign
Solve →
239Operations on TreeMedium
ArrayHash TableTree
Solve →
240Optimize Water Distribution in a VillageHard
Union-FindGraph TheoryHeap (Priority Queue)
Solve →
241Path In Zigzag Labelled Binary TreeMedium
MathTreeBinary Tree
Solve →
242Path Sum IIMedium
BacktrackingTreeDepth-First Search
Solve →
243Path Sum IIIMedium
TreeDepth-First SearchBinary Tree
Solve →
244Path Sum IVMedium
ArrayHash TableTree
Solve →
245Path SumEasy
TreeDepth-First SearchBreadth-First Search
Solve →
246Peaks in ArrayHard
ArrayBinary Indexed TreeSegment Tree
Solve →
247Populating Next Right Pointers in Each Node IIMedium
Linked ListTreeDepth-First Search
Solve →
248Populating Next Right Pointers in Each NodeMedium
Linked ListTreeDepth-First Search
Solve →
249Print Binary TreeMedium
TreeDepth-First SearchBreadth-First Search
Solve →
250Pseudo-Palindromic Paths in a Binary TreeMedium
Bit ManipulationTreeDepth-First Search
Solve →
251Pythagorean Distance Nodes in a TreeMedium
TreeBreadth-First Search
Solve →
252Queries on a Permutation With KeyMedium
ArrayBinary Indexed TreeSimulation
Solve →
253Queue Reconstruction by HeightMedium
ArrayBinary Indexed TreeSegment Tree
Solve →
254Range Frequency QueriesMedium
ArrayHash TableBinary Search
Solve →
255Range ModuleHard
DesignSegment TreeOrdered Set
Solve →
256Range Sum of BSTEasy
TreeDepth-First SearchBinary Search Tree
Solve →
257Range Sum Query 2D - MutableMedium
ArrayDesignBinary Indexed Tree
Solve →
258Range Sum Query - MutableMedium
ArrayDivide and ConquerDesign
Solve →
259Reachable Nodes With RestrictionsMedium
ArrayHash TableTree
Solve →
260Recover a Tree From Preorder TraversalHard
StringTreeDepth-First Search
Solve →
261Recover Binary Search TreeMedium
TreeDepth-First SearchBinary Search Tree
Solve →
262Rectangle Area IIHard
ArraySegment TreeSweep Line
Solve →
263Reverse Odd Levels of Binary TreeMedium
TreeDepth-First SearchBreadth-First Search
Solve →
264Reverse PairsHard
ArrayBinary SearchDivide and Conquer
Solve →
265Root Equals Sum of ChildrenEasy
TreeBinary Tree
Solve →
266Same TreeEasy
TreeDepth-First SearchBreadth-First Search
Solve →
267Search in a Binary Search TreeEasy
TreeBinary Search TreeBinary Tree
Solve →
268Second Minimum Node In a Binary TreeEasy
TreeDepth-First SearchBinary Tree
Solve →
269Separate Squares IIHard
ArrayBinary SearchSegment Tree
Solve →
270Serialize and Deserialize Binary TreeHard
StringTreeDepth-First Search
Solve →
271Serialize and Deserialize BSTMedium
StringTreeDepth-First Search
Solve →
272Serialize and Deserialize N-ary TreeHard
StringTreeDepth-First Search
Solve →
273Shortest Path in a Weighted TreeHard
ArrayTreeDepth-First Search
Solve →
274Smallest Common RegionMedium
ArrayHash TableString
Solve →
275Smallest String Starting From LeafMedium
StringBacktrackingTree
Solve →
276Smallest Subtree with all the Deepest NodesMedium
Hash TableTreeDepth-First Search
Solve →
277Split BSTMedium
TreeBinary Search TreeRecursion
Solve →
278Step-By-Step Directions From a Binary Tree Node to AnotherMedium
StringTreeDepth-First Search
Solve →
279Subarrays Distinct Element Sum of Squares IIHard
ArrayDynamic ProgrammingBinary Indexed Tree
Solve →
280Subtree of Another TreeEasy
TreeDepth-First SearchString Matching
Solve →
281Subtree Removal Game with Fibonacci TreeHard
MathDynamic ProgrammingTree
Solve →
282Sum of Beautiful SubsequencesHard
ArrayMathBinary Indexed Tree
Solve →
283Sum of Distances in TreeHard
Dynamic ProgrammingTreeDepth-First Search
Solve →
284Sum of Left LeavesEasy
TreeDepth-First SearchBreadth-First Search
Solve →
285Sum of Nodes with Even-Valued GrandparentMedium
TreeDepth-First SearchBreadth-First Search
Solve →
286Sum of Perfect Square AncestorsHard
ArrayHash TableMath
Solve →
287Sum of Root To Leaf Binary NumbersEasy
TreeDepth-First SearchBinary Tree
Solve →
288Sum Root to Leaf NumbersMedium
TreeDepth-First SearchBinary Tree
Solve →
289Symmetric TreeEasy
TreeDepth-First SearchBreadth-First Search
Solve →
290The Skyline ProblemHard
ArrayDivide and ConquerBinary Indexed Tree
Solve →
291Throne InheritanceMedium
Hash TableTreeDepth-First Search
Solve →
292Time Needed to Inform All EmployeesMedium
TreeDepth-First SearchBreadth-First Search
Solve →
293Total Sum of Interaction Cost in Tree GroupsHard
ArrayTreeDepth-First Search
Solve →
294Tree DiameterMedium
TreeDepth-First SearchBreadth-First Search
Solve →
295Tree of CoprimesHard
ArrayMathTree
Solve →
296Trim a Binary Search TreeMedium
TreeDepth-First SearchBinary Search Tree
Solve →
297Two Sum BSTsMedium
Two PointersBinary SearchStack
Solve →
298Two Sum IV - Input is a BSTEasy
Hash TableTwo PointersTree
Solve →
299Unique Binary Search Trees IIMedium
Dynamic ProgrammingBacktrackingTree
Solve →
300Unique Binary Search TreesMedium
MathDynamic ProgrammingTree
Solve →
301Univalued Binary TreeEasy
TreeDepth-First SearchBreadth-First Search
Solve →
302Validate Binary Search TreeMedium
TreeDepth-First SearchBinary Search Tree
Solve →
303Validate Binary Tree NodesMedium
TreeDepth-First SearchBreadth-First Search
Solve →
304Verify Preorder Sequence in Binary Search TreeMedium
ArrayStackTree
Solve →
305Verify Preorder Serialization of a Binary TreeMedium
StringStackTree
Solve →
306Vertical Order Traversal of a Binary TreeHard
Hash TableTreeDepth-First Search
Solve →