https://leetcode.cn/problems/3sum/
中等
需要注意的点
nums.sort()排序if i > 0 and nums[i] == nums[i-1]:这句判断跳过left right
class Solution:def threeSum(self, nums: List[int]) -> List[List[int]]:if not nums or len(nums) < 3:return []size = len(nums)# 1nums.sort()res = []for i in range(size):if i > 0 and nums[i] == nums[i-1]:continueleft = i+1right = size-1while left < right:sum = nums[i] + nums[left]+nums[right]if sum == 0:res.append([nums[i], nums[left], nums[right]])# 3while left < right and nums[left] == nums[left+1]:left += 1left += 1while left < right and nums[right] == nums[right-1]:right -= 1right -= 1elif sum >0:right -= 1else:left += 1return res
