题目传送:https://leetcode.cn/problems/minimum-depth-of-binary-tree/
运行效率
代码如下
public int minDepth(TreeNode root) {
//处理边界情况
if (root == null) {
return 0;
}
if (root.left == null && root.right == null) {
return 1;
}
//递归查询左子树和右子树的深度
int leftHeight = 0;
int rightHeight = 0;
if (root.left != null) {
leftHeight = minDepth(root.left);
}
if (root.right != null) {
rightHeight = minDepth(root.right);
}
//左子树的空的情况下
if (leftHeight == 0) {
return rightHeight+1;
}
//右子树的空的情况下
if(rightHeight==0){
return leftHeight+1;
}
return Math.min(leftHeight, rightHeight) + 1;
}