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
Explanation: The shortest path is 3 → 9, which has depth 2. Node 9 is a leaf.
Example 2:
Input: root = [2, null, 3, null, 4, null, 5, null, 6]
Output: 5
Explanation: The only leaf is node 6. The path 2 → 3 → 4 → 5 → 6 has depth 5.
Example 3:
Input: root = []
Output: 0
[0, 10⁵]-1000 <= Node.val <= 1000