私はラインres.add(new ArrayList<Integer>(temp));
と混同しています。 res.add(temp)
を使用すれば、なぜそれが間違っているのか教えてください。ArrayListの初期化で混乱しています
public void dfs(int[] nums, int index, List<List<Integer>> res, List<Integer> temp) {
res.add(new ArrayList<Integer>(temp));
for(int i = index; i < nums.length; i++) {
temp.add(nums[i]);
dfs(nums, i + 1, res, temp);
temp.remove(temp.size() - 1);
}
}
あなたは別のリストの周りに 'ArrayList'を初期化していますが、それ自体は何も_wrong_はありません。たぶんあなたは 'addAll()'を使うつもりでした。 –
javaは混乱しません。あなただけが混乱します – sasikumar
これら2つのメソッドの呼び出しコードも表示できますか?メソッドの呼び出し後に 'res'をどのように使うつもりであるかは不明です。 –