Minimum Depth of Binary Tree

Posted by Bill on March 11, 2023

Minimum Depth of Binary Tree

Given a binary tree, find its minimum depth.

The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.

Note: A leaf is a node with no children.

Example 1: Input: root = [3,9,20,null,null,15,7] Output: 2

Example 2: Input: root = [2,null,3,null,4,null,5,null,6] Output: 5

C++ Solution

1
2
3
4
5
6
7
8
9
10
11
12
13
14
    int minDepth(TreeNode* root) {
        if (root == nullptr) {
            return 0;
        }
        int left = minDepth(root->left);
        int right = minDepth(root->right);
        if (root->left == nullptr) {
            return 1 + right;
        } else if (root->right == nullptr) {
            return 1 + left;
        } else {
            return min(left, right) + 1;
        }
    }