您的位置:首页 > 其它

递归-数组的子集:leetcode 78 Subsets

2017-04-21 17:59 441 查看
leetcode 78 Subsets

public class Solution {

    public List<List<Integer>> subsets(int[] nums) {

        List<List<Integer>> result = new ArrayList<List<Integer>>();

        if(nums.length == 0){

            return result;

        }

         

        Arrays.sort(nums);

        dfs(nums, 0, new ArrayList<Integer>(), result);

        return result;

    }

    

    public void dfs(int[] nums, int index, List<Integer> path, List<List<Integer>> result)

    {

      //   result.add(path); path的地址是不变的,且初始里面为空。若这样写,result里全是空list

        result.add(new ArrayList<Integer>(path));

       

    

        for(int i = index; i < nums.length; i++){

            path.add(nums[i]);

            dfs(nums, i+1, path, result);

            path.remove(path.size()-1);

    }

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: