题解 | #集合的所有子集(一)#

集合的所有子集(一)

https://www.nowcoder.com/practice/c333d551eb6243e0b4d92e37a06fbfc9

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param S int整型一维数组 
     * @return int整型ArrayList<ArrayList<>>
     */
    public ArrayList<ArrayList<Integer>> subsets (int[] S) {
        // write code here
        ArrayList<ArrayList<Integer>> res = new ArrayList<>();
        addSub(S, res, new ArrayList<>(), 0);

        return res;
    }

    public void addSub(int[] nums, ArrayList<ArrayList<Integer>> res, ArrayList<Integer> temp, int index) {

        res.add(new ArrayList<>(temp));
        if (index >= nums.length) {
            return ;
        }

        for (int i = index; i < nums.length; i ++) {
            temp.add(nums[i]);
            addSub(nums, res, temp, i + 1);
            temp.remove(temp.size() - 1);
        }
    }
}

全部评论

相关推荐

头像
11-07 18:46
已编辑
中南大学 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务