有一组数字,求该组数字的所有排列
比如:
[1,2,3]的所有排列如下
[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2], [3,2,1].
import java.util.*;
public class Arrange{
ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>();
public ArrayList<ArrayList<Integer>> permute(int[] num) {
ArrayList<Integer> list = new ArrayList<Integer>();
computer(list,num);
return result;
}
public void computer(ArrayList<Integer> list ,int[] num){
if(list.size() == num.length){
result.add(new ArrayList<Integer>(list));
return;
}
for(int i=0;i<num.length;i++){
if(!list.contains(num[i])){
list.add(num[i]);
computer(list,num);
list.remove(list.size()-1);
}
}
}
}