78. 子集

每次被dfs(nums,i+1);//每次都这样,这里不是cur,是i这个卡住,看了上次写的才知道是这里写错了,不是第一次了无语。

class Solution {
    LinkedList<List<Integer>> ans=new LinkedList<>();
    LinkedList<Integer> path=new LinkedList<>();
    public List<List<Integer>> subsets(int[] nums) {
     //ans.add(new LinkedList<>());//这个<>要不要
     dfs(nums,0);
     
     return ans;
    }

    void dfs(int[] nums,int cur){
       //组合问题变形?控制好递归结束条件
       ans.add(new LinkedList(path));
      
          

       for(int i=cur;i<nums.length;i++){
           path.add(nums[i]);
           dfs(nums,i+1);//每次都这样,这里不是cur,是i
           path.removeLast();
       }

    }
}
posted @ 2021-04-24 22:17  wsshub  阅读(34)  评论(0)    收藏  举报