78. Subsets

来源:互联网 发布:哪个炒股软件最好 编辑:程序博客网 时间:2024/06/06 10:43

Given a set of distinct integers, nums, return all possible subsets (the power set).

Note: The solution set must not contain duplicate subsets.

For example,
If nums = [1,2,3], a solution is:

[  [3],  [1],  [2],  [1,2,3],  [1,3],  [2,3],  [1,2],  []]

java

class Solution {    public List<List<Integer>> subsets(int[] nums) {        List<List<Integer>> result = new ArrayList<>();        if (nums == null) {            return result;        }        if (nums.length == 0) {            result.add(new ArrayList<Integer>());            return result;        }        Arrays.sort(nums);        dfs(nums, 0, new ArrayList<Integer>(), result);        return result;    }    private void dfs(int[] nums,                     int start,                     List<Integer> path,                     List<List<Integer>> result) {        result.add(new ArrayList<Integer>(path));        for (int i = start; i < nums.length; i++) {            path.add(nums[i]);            dfs(nums, i + 1, path, result);            path.remove(path.size() - 1);        }    }}


原创粉丝点击