一:JAVA
java
class Solution {
List<Integer> list =new LinkedList<>();
List<List<Integer>> ans =new LinkedList<>();
public List<List<Integer>> combine(int n, int k) {
df(n, k, 1);
return ans;
}
public void df(int n, int k,int start){
if(list.size()==k){
ans.addLast(new LinkedList<>(list));
}
for (int i = start; i<=n; i++) {
list.addLast(i);
df(n, k, i+1);
list.removeLast();
}
}
}
Q:这段代码中不能直接将 ans.addLast(new LinkedList<>(list));
替换为 ans.addLast(list);
,原因涉及到 Java 中的对象引用行为。


