111. Minimum Depth of Binary Tree
Question:
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:
Input: root = [3,9,20,null,null,15,7]
Output: 2
Input: root = [2,null,3,null,4,null,5,null,6]
Output: 5
Source code:
Version 1
Idea:
We can sum up the rules of the binary tree.
First: If the left subnode and right subnode are exist of leaf node, it can be calculated each depths and use min() to get minimum depth.
Seconde: If there is NULL either left subnode or right subnode of leaf node, we must use max() to get the maxixmum depth, because "A leaf is a node with no children" based on the question. E.g., if left subnode is NULL, a leaf can't be calculated as 1 depth.
1 | /** |