具有重复的char数组的Java排列

时间:2018-03-24 11:44:27

标签: java arrays recursion char permutation

我的目标是创建一个函数,通过重复char数组生成所有可能的排列 - >对于前(' a',' b',' c')。在检查是否所有内容都在arraylist allPerms之后,我发现了ex。 (' b',' c',' d')不存在。有什么建议我错过了什么?

public void permutations(char [] array, int length) {
    if (array[length-1] != '\0') {
        allPerms.add(array);
    } else {
        for (int i = 0; i < characters.length; i++) {
            for (int j = 0; j < array.length; j++) {
                if(array[j] == '\0') {
                    array[j] = characters[i];
                    char[] copy = Arrays.copyOf(array, length);
                    permutations(copy, length);
                    break;
                }
            }

        }
    }
}

0 个答案:

没有答案