1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class Solution { public List<List<Integer>> subsets(int[] nums) { List<List<Integer>> ans = new LinkedList<>(); for (int i = 0; i < 1 << nums.length; i++) { StringBuilder binary = new StringBuilder(Integer.toBinaryString(i)); while (binary.length() < nums.length) { binary.insert(0, "0"); } List<Integer> tmp = new LinkedList<>(); for (int j = 0; j < binary.length(); j++) { if (binary.charAt(j) == '1') { tmp.add(nums[j]); } } ans.add(tmp); } return ans; } }
|