How to Count the Minimum Depth of a Binary Tree in Java
The challenge
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
Constraints:
 The number of nodes in the tree is in the range
[0, 10<sup>5</sup>]
. 1000 <= Node.val <= 1000
The definition for a binary tree node
The solution in Java code
First we need to make sure that we catch our 2 edge cases:
 root is null
 root has no child nodes
Then we can check if left is null, it means that we can run the depth again, but with right, adding 1 level.
The same then applies to the right node.
Once this recursion is out, we make sure to use the builtin Math.min()
to do the same logic if not caught above:
 minimum value will be the left node under recursion
 compared to the right node under recursion
Making sure to increment our final output by 1, as we have not yet counted in the additional level yet.

