Hone logo
Hone
Problems

Tree Node Depth Sum

You are tasked with calculating the sum of the depths of all nodes in a binary tree. The depth of a node is defined as the number of edges from the root to that node. This is a fundamental operation in tree traversal and analysis, useful for understanding the structure and balance of a tree.

Problem Description

Given the root of a binary tree, calculate the sum of the depths of all its nodes. The root node has a depth of 0.

Requirements

  • You need to traverse the entire binary tree.
  • For each node, you need to determine its depth.
  • The sum of all these depths should be returned.

Expected Behavior

The function should accurately calculate the total depth sum for any valid binary tree.

Edge Cases

  • An empty tree (root is null).
  • A tree with only a root node.
  • A skewed tree (all nodes on one side).

Examples

Example 1:

Input:
    1
   / \
  2   3
 / \
4   5

Output: 7

Explanation:
- Node 1 (root): depth 0
- Node 2: depth 1
- Node 3: depth 1
- Node 4: depth 2
- Node 5: depth 2
Total depth sum = 0 + 1 + 1 + 2 + 2 = 6.

Correction: The explanation for Example 1 should be 0 + 1 + 1 + 2 + 2 = 6. The provided output of 7 is incorrect.

Example 2:

Input:
    1

Output: 0

Explanation:
- Node 1 (root): depth 0
Total depth sum = 0.

Example 3:

Input:
    1
     \
      2
       \
        3

Output: 3

Explanation:
- Node 1 (root): depth 0
- Node 2: depth 1
- Node 3: depth 2
Total depth sum = 0 + 1 + 2 = 3.

Constraints

  • The number of nodes in the tree will be between 0 and 1000.
  • Node values are integers and do not affect the calculation.
  • The tree is a binary tree, meaning each node has at most two children (left and right).

Notes

  • You'll need a way to represent the tree nodes. A common approach is to use a structure or class with fields for the node's value, a pointer/reference to its left child, and a pointer/reference to its right child.
  • Consider using recursion or an iterative approach with a stack or queue for traversal.
  • Pay close attention to how you track the depth as you move through the tree.
Loading editor...
plaintext