111. Minimum Depth of Binary Tree

leaf: node that does not have a children depth: from root to leaf


class Solution {
    int result = Integer.MAX_VALUE;
    public int minDepth(TreeNode root) {
        if (root==null) return 0;
        dfs(root, 1);
        return result;
    }
    
    private void dfs(TreeNode node, int depth){
        if(node.left!=null){
            dfs(node.left, depth+1);
        }
        if(node.right!=null){
            dfs(node.right, depth+1);
        }
        if (node.right == null && node.left ==null){
            result=Math.min(result, depth);
            return;
        }
    }
}

Last updated