We use cookies for site analytics. Accept to help us understand how the site is used. See our Privacy Policy for details.
An easy trees problem, graded against 6 test cases (3 of them hidden).
Recursive traversal of binary trees and BSTs - depth, validation, and path problems.
Reach for it when you see: A TreeNode input, or anything about depth, ancestry, or in-order ordering.
More Treesproblems →BFS naturally visits nodes level by level, but a plain queue loses track of where one level ends. The standard technique is to snapshot the frontier: process exactly the nodes currently in it, collecting their children into a fresh frontier for the next round.
That gives you every level as a discrete group, so summing and dividing is direct. The same skeleton solves level-order traversal, right-side view, zigzag traversal, and level maximums - only what you do with each group changes, which makes it worth learning as a template rather than as one solution.
Two practical notes. Sum with a numeric type wide enough for the constraint: with up to 10^4 nodes at the full int32 range, an intermediate sum can exceed 32-bit range, which matters in languages with fixed-width ints (JavaScript and Python are safe here). And rounding is specified rather than incidental, so apply it explicitly instead of relying on the default float formatting.
The full reference solution in every supported language stays in the editor above - reveal it there once you have had a real attempt.
Read off this problem's own test suite, so these are the cases a submission actually has to survive.
These apply to the pattern as a whole, not just this problem.