import java.util.ArrayList;
import java.util.Arrays;
public class Solution {
public ArrayList<ArrayList<Integer>> threeSum(int[] num) {
ArrayList<ArrayList<Integer>> res = new ArrayList<>();
if(num.length == 0){
return res;
}
//思路如下 第一步进行排序
Arrays.sort(num);
//第二步 拿出一个数x 就变成从剩下的数中找两个数加起来等于x
//第三步 在拿出一个数y 就变成从剩下的找一个数x + y+ 这个数 == 0了逐步拆解
for(int i = 0;i<num.length-2;i++){
int first = num[i];
for(int j = i + 1;j<num.length-1;j++){
int second = num[j];
for(int k = j + 1;k<num.length;k++){
int third = num[k];
if(first + second + third == 0){
ArrayList<Integer> item = new ArrayList<>();
item.add(first);
item.add(second);
item.add(third);
if(!res.contains(item)){
res.add(item);
}
}
}
}
}
return res;
}
}