leetcode Subsets

题目链接

思路:
递归回溯

public class Solution {
  int nums[];
    int n;
    List<List<Integer>> result;
    public List<List<Integer>> subsets(int[] nums) {
        Arrays.sort(nums);
        this.nums=nums;
        n=nums.length;
        result=new LinkedList<List<Integer>>();
        LinkedList<Integer> temp=new LinkedList<Integer>();
        help(0,temp);

        result.add(new LinkedList<Integer>());
        return result;

    }


    public void help(int start,LinkedList<Integer> temp)
    {

        for(int i=start;i<n;i++)
        {


            temp.add(nums[i]);
            result.add(new LinkedList<Integer>(temp));
            help(i+1,temp);
            temp.removeLast();
        }

    }

}

你可能感兴趣的:(leetcode Subsets)