public static void main(String[] args) {
        int n = 3; // 你可以更改这个值来测试不同长度的数组
        List<String> combinations = generateCombinations(n);
        for (String combination : combinations) {
            System.out.println(combination);
        }
    }

    public static List<String> generateCombinations(int n) {
        List<String> combinations = new ArrayList<>();
        generateCombinationsHelper("", n, combinations);
        return combinations;
    }

    private static void generateCombinationsHelper(String prefix, int n, List<String> combinations) {
        if (n == 0) {
            combinations.add(prefix);
        } else {
            generateCombinationsHelper(prefix + "0", n - 1, combinations);
            generateCombinationsHelper(prefix + "1", n - 1, combinations);
        }
    }