给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请
你返回所有和为 0 且不重复的三元组。
注意:答案中不可以包含重复的三元组。
解题思路:
个人最开始的想法是首先排除特殊用例,思考特殊情况:是否都大于0或者小于0或者全为0或者数组长度小于3,对特殊的情况首先进行排除。
List<List<Integer>> ans= new ArrayList<List<Integer>>();
//特殊情况处理是否都大于0或者小于0或者全为0或者数组长度小于3
if(nums.length<3){
return ans;
}else{
Arrays.sort(nums);
if(nums[0]>=0 && nums[nums.length-1]>0){
return ans;
}
if(nums[0]==0 && nums[nums.length-1]==0){
List<Integer> l=