给定一个含不同整数的集合,返回其所有的子集
import java.util.*;
public class Solution {
/*
* @param nums: A set of numbers
* @return: A list of lists
*/
public List<List<Integer>> subsets(int[] nums) {
int len = 1 << nums.length;
List<List<Integer>> lists = new LinkedList<List<Integer>>();
for (int i = 0; i < len; i++) {
List<Integer> list = new LinkedList<Integer>();
int index = i;
for (int j = 0; j < nums.length; j++) {
if ((index & 1) == 1) {
list.add(nums[j]);
}
index >>= 1;
}
Collections.sort(list);
lists.add(list);
}
return lists;
}
}