1.力扣C++源码
class Solution {
public:
vector<vector<int>> threeSum(vector<int>& nums) {
int len = nums.size();
if (len < 3)return {
};//特判1,数组元素<3,返回空数组
vector<vector<int>> ans;//定义一个vector类型的二维数组存储符合的结果数组
sort(nums.begin(), nums.end());//默认升序
for (int a = 0; a < len - 2; a++) {
//固定外层循环
if (nums[a] > 0)return ans;//特判2,当a>0时,就停止循环,返回结果
if (a > 0 && nums[a] == nums[a - 1])continue;//去重,跳到循环开始处
int b = a + 1;//定义左指针b
int c = len - 1;//定义右指针c
while (b < c) {
//当b<c的时候,继续循环;b>=c的时候就停止指针移动
if (nums[b] + nums[c] >