我的目标是创建一个函数,通过重复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;
}
}
}
}
}