我想根据用户输入找到任何大小的 2^n 排列。我不知道该怎么做。我知道我必须使用递归。与我见过的大多数示例不同,函数的参数只是数字输入,没有可用于进行所有排列的字符串。所有排列都将存储在 arrayList 中并输出给用户。即(输入3)输出:000 001 010 011 100 101 110 111 这是我到目前为止的代码:
public static void printBin(int bits) {
ArrayList<String> binaryArray = new ArrayList<String>();
if(bits == 0) {
System.out.println(binaryArray);
}
else {
for (String string2 : binaryArray) {
String comp = "";
if (comp.length() <= string2.length()) {
comp = string2;
string = comp;
}
string.concat("0");
binaryArray.add(string);
printBin(bits - 1);
string.concat("1");
binaryArray.add(string);
printBin(bits-1);
}
}
}
提前致谢。