以判断左右分支是否为空并作遍历来判断树的深度。
public class S_111 {
public int minDepth(TreeNode root) {
// 为空
if (root == null) return 0;
// 左空直接计算右
if (root.left == null) {
return 1 + minDepth(root.right);
}
// 右空直接计算左
if (root.right == null) {
return 1 + minDepth(root.left);
}
// 递归调用
int left = minDepth(root.left);
int right = minDepth(root.right);
// 返回最小值
return Math.min(left, right) + 1;
}
}