力扣111 9.6

111.二叉树的最小深度

练个手,我写的有点复杂,if语句要考虑到不同情况。不算难嗷,正常递归。

class Solution {

    public int minDepth(TreeNode root) {

        return dfs(root);

    }

    int dfs(TreeNode root){              if(root!=null&&root.left==null&&root.right==null){

                    return 1;

        }

        if(root==null){

            return 0;

        }

        if(root.left!=null&&root.right!=null)

        return Math.min(1+dfs(root.left),1+dfs(root.right));

        else if(root.left!=null&&root.right==null)

            return 1+dfs(root.left);

            else if(root.right!=null&&root.left==null)

            return 1+dfs(root.right);

            return 0;

好像是Java语法要求必须要有个return。

    }

}

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