Leetcode111. 二叉树的最小深度

题目传送:https://leetcode.cn/problems/minimum-depth-of-binary-tree/

运行效率
Leetcode111. 二叉树的最小深度_第1张图片
代码如下

 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;
    }

你可能感兴趣的:(数据结构和算法,leetcode,算法,数据结构)