classSolution: defthreeSum(self, nums: List[int]) -> List[List[int]]: nums = sorted(nums) result = [] for i inrange(len(nums)-2): if nums[i] > 0: break if i>0and nums[i]==nums[i-1]:continue left,right = i+1,len(nums)-1 while left<right: if nums[i]+nums[left]+nums[right]==0: result.append([nums[i],nums[left],nums[right]]) #避免重复添加元素 while(left<right and nums[left+1]==nums[left]):left+=1 while(left<right and nums[right-1]==nums[right]):right-=1 left,right = left+1,right-1 elif nums[i]+nums[left]+nums[right]>0: right -= 1 else: left +=1 return result