public static List> threeNumSum(int[] nums){ List
> result = new ArrayList<>(); Arrays.sort(nums); for(int i=0;i
0 && nums[i] == nums[i-1]){ continue; } int j = i+1; int k = nums.length-1; while ( i i+1 && nums[j] == nums[j - 1]) && (k< nums.length -1 && nums[k] == nums[k + 1])){ j++; k--; continue; } int sum = nums[i] + nums[j] + nums[k]; if(sum == 0){ result.add(Arrays.asList(nums[i] ,nums[j] , nums[k])); j++; k--; }else if(sum > 0){ k--; }else{ j++; } } } return result; }