larscheng / algo

0 stars 0 forks source link

【Check 61】2024-04-25 - 78. 子集 #164

Open larscheng opened 5 months ago

larscheng commented 5 months ago

78. 子集

larscheng commented 5 months ago

思路

回溯

class Solution {

public List<List<Integer>> subsets(int[] nums) {
    List<List<Integer>> res = new ArrayList<>();
    Deque<Integer> deque = new ArrayDeque<>();
    dfs(nums,0,nums.length,res,deque);
    return res;
}

private void dfs(int[] nums, int index, int length, List<List<Integer>> res, Deque<Integer> deque) {
    res.add(new ArrayList<>(deque));

    for (int i = index; i < length; i++) {
        deque.addLast(nums[i]);
        dfs(nums,i+1,length,res,deque);
        deque.removeLast();
    }

}

}