LeetCode刷题记56-46. 全排列

LeetCode刷题记56

46. 全排列

题目
LeetCode刷题记56-46. 全排列_第1张图片

class Solution {
    public void F(List<List<Integer>> ans, int[] nums, int i) {
        if (i == nums.length ) {
            List<Integer> cur = new ArrayList<Integer>();
            for (int k : nums) {
                cur.add(k);
            }
            ans.add(cur);
            return;
        }
        for (int j = i; j < nums.length; j ++) {
            int tmp = nums[j];
            nums[j] = nums[i];
            nums[i] = tmp;
            F(ans, nums, i + 1);
            nums[i] = nums[j];
            nums[j] = tmp; 
        }
    }
    public List<List<Integer>> permute(int[] nums) {
        List<List<Integer>> ans = new ArrayList();
        F(ans, nums, 0);
        return ans;
    }
}

我好菜,大二就做过这个题目,现在又写不清了。。。。。。傻瓜
3/5
56/150

你可能感兴趣的:(leetcode)