错过ABK的,买点2F吧# Stock
b*i
1 楼
我是按照这位大侠的解法来做leetcode subsets这题的。
http://blog.csdn.net/u011095253/article/details/9158397
01.public class Solution {
02. public ArrayList> subsets(int[] S) {
03. ArrayList> res = new ArrayList Integer>>();
04. ArrayList tmp = new ArrayList();
05. Arrays.sort(S);
06. res.add(tmp);
07. dfs(res,tmp,S,0);
08. return res;
09. }
10.
11. public void dfs(ArrayList> res, ArrayList
tmp, int[] S, int pos){
12. for(int i=pos; i<=S.length-1;i++){
13. tmp.add(S[i]);
14. res.add(new ArrayList(tmp));
15. dfs(res,tmp,S,i+1);
16. tmp.remove(tmp.size()-1);
17. }
18. }
19.}
但是有一行代码不知道该怎么理解。。
line 14: res.add(new ArrayList(tmp));
为什么不能直接用 res.add(tmp)呢? java是为了刷题才开始学的,基本功太差。。。
http://blog.csdn.net/u011095253/article/details/9158397
01.public class Solution {
02. public ArrayList
03. ArrayList
04. ArrayList
05. Arrays.sort(S);
06. res.add(tmp);
07. dfs(res,tmp,S,0);
08. return res;
09. }
10.
11. public void dfs(ArrayList
tmp, int[] S, int pos){
12. for(int i=pos; i<=S.length-1;i++){
13. tmp.add(S[i]);
14. res.add(new ArrayList
15. dfs(res,tmp,S,i+1);
16. tmp.remove(tmp.size()-1);
17. }
18. }
19.}
但是有一行代码不知道该怎么理解。。
line 14: res.add(new ArrayList
为什么不能直接用 res.add(tmp)呢? java是为了刷题才开始学的,基本功太差。。。