全排列 permutation

给定一个数字列表,返回其所有可能的排列 lintcode

package www.dxb.com;

import java.util.List;
import java.util.ArrayList;


public class permutations {
public List<List<Integer>> permute (int [] nums){
List<List<Integer>> result = new ArrayList<List<Integer>>();
List<Integer> list = new ArrayList<Integer>();
backtracking(result,list,nums,0);
return result;
}
public void backtracking (List<List<Integer>> result, List<Integer> temp, int[] nums,int index)
{
if(index==nums.length){
result.add(new ArrayList<Integer>(temp));
return ;
}
for(int i=0;i<index;i++){
temp.add(i,nums[index]);
backtracking(result,temp,nums,index+1);
temp.remove(i);
}
}

}

猜你喜欢

转载自www.cnblogs.com/dangyunkai/p/10639960.html