天天看点

Leetcode: Combination Sum

典型的recursion方法,找符合要求的path,存入result的ArrayList中。所以方法还是建立一个ArrayList<ArrayList<Integer>> result, 建立一个ArrayList<Integer> path,用recursion当找到符合条件的path时,存入result中。

我在做这道题时遇到了一个问题:添加 path 进入 result 中时,需要这样res.add(new ArrayList<Integer>(path)); 如果直接res.add(path); 会出错

比如我遇到的错误是:Input:[1], 1    Output:[[]]     Expected:[[1]],没能够把path: [1] 添加到res里面去,没有成功。(具体我现在也不知道为什么)

第二遍做法: