给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 _a + b + c = _0 ?找出所有满足条件且不重复的三元组。
    注意:答案中不可以包含重复的三元组。

    1. 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],
    2. 满足要求的三元组集合为:
    3. [
    4. [-1, 0, 1],
    5. [-1, -1, 2]
    6. ]
    var threeSum = function(nums) {
      const result = [];
      if (nums.length < 3) {
          return result;
      }
      // 先排序
      nums = nums.sort((a, b) => a - b);
      for (let i = 0; i < nums.length - 2; i++) {
            // i作为左指针 [...2,2,3...] 指向第2个2时 已经处理过有一个数是2的情况了 跳过
          if(i > 0 && nums[i] === nums[i-1]) {
              continue
          }
          let j = i + 1;
          let k = nums.length - 1;
            // j向后、k向前
          while(j < k) {
              const temp = nums[i] + nums[j] + nums[k];
              if (temp === 0) {
                  result.push([nums[i], nums[j], nums[k]]);
                    // 避免重复
                  while(nums[j] === nums[j + 1]) {
                      j++
                  }
                  while(nums[k] === nums[k-1]) {
                      k--
                  }
                  j++
                  k--
              } else if (temp < 0) {
                  j++
              } else {
                  k--
              }
          }
      }
      return result;
    };