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;
}
}