Implement an algorithm to solve a classic LeetCode-style problem.
Implement three_sum(nums) to return every unique triplet whose values sum to zero. Return triplets in nondecreasing order, with the collection ordered consistently; the input may contain duplicates.
Input is a list of integers, and output is a list of integer triplets. Do not reuse an array element within one triplet.
def three_sum(nums):