Java 存储由递归方法生成的数组
如何保存以下方法生成的所有数组Java 存储由递归方法生成的数组,java,arrays,recursion,Java,Arrays,Recursion,如何保存以下方法生成的所有数组 static void permute(java.util.List<Character> arr, int k) { for (int i = k; i < arr.size(); i++) { java.util.Collections.swap(arr, i, k); permute(arr, k + 1); java.util.Collections.swap(arr, k, i);
static void permute(java.util.List<Character> arr, int k) {
for (int i = k; i < arr.size(); i++) {
java.util.Collections.swap(arr, i, k);
permute(arr, k + 1);
java.util.Collections.swap(arr, k, i);
}
if (k == arr.size() - 1) {
System.out.println(java.util.Arrays.toString(arr.toArray()));
}
}
static void permute(java.util.List arr,int k){
对于(int i=k;i
您可以将结果
列表作为参数传递给递归方法以保存结果
static void permute(List<Character> arr, int k,List<List<Character>> results) {
for (int i = k; i < arr.size(); i++) {
java.util.Collections.swap(arr, i, k);
permute(arr, k + 1, results);
java.util.Collections.swap(arr, k, i);
}
if (k == arr.size() - 1) {
results.add(new ArrayList<>(arr));
}
}
static void permute(列表arr、int k、列表结果){
对于(int i=k;i