46.全排列

···
class Solution {
public List<List<Integer>> permute(int[] nums) {
List<List<Integer>> lists = new ArrayList<>();
List<List<Integer>> result = new ArrayList<>();
if(nums.length == 1){
List<Integer> list = new ArrayList<>();
list.add(nums[0]);
lists.add(list);
return lists;
}
int []copy = new int[nums.length-1];

    for(int i = 0 ; i < nums.length; i++){
        for(int j = 0; j < nums.length; j++){
            if(j < i){
                copy[j] = nums[j];
            } else if(j > i){
                copy[j-1] = nums[j];
            }
        }
        lists = permute(copy);
        for(int j = 0; j < lists.size(); j++){
            lists.get(j).add(nums[i]);
        }
        //return lists;
        result.addAll(lists);
    }
    return result;
}

}
···

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容