1.链表中存储的是引用而不是对象本身
List<List<Integer>> res=new ArrayList<>();
res.add(new ArrayList<>(list));//每次都要new一个新的list
错误示范:在开头new一个list反复用,这样链表中全是同一个list
2.this引用当前对象的实例
public List<List<Integer>> combinationSum3(int k, int n) {
this.k = k; // 将方法参数赋值给类级别的变量
this.n = n;
不要写成k=this.k
}
3.溢出
在两大数相加时:
如
用a+(b-a)/2代替(a+b)/2
在有long的题目中,在一些算式中乘一个1L来防止溢出
如:
if (b[r] * 1L * a[i] >= t) ans[i] = m - r;