按照规则找数就行
class Solution {
public:
vector<vector<int> > threeSum(vector<int> &num) {
int a, b, c;
int i, j;
vector<int>::iterator cIter;
vector<vector<int>> res;
sort(num.begin(), num.end());
for(i = 0; i < num.size(); i++)
{
a = num[i];
for(j = i + 1; j < num.size(); j++)
{
b = num[j];
cIter = find(num.begin() + j + 1, num.end(), -(a+b));
if (cIter != num.end())
{
c = *cIter;
vector<int> temp{a, b, c};
res.push_back(temp);
}
while(num[j] == b)
{
j++;
}
j -= 1;
}
while(num[i] == a)
i++;
i--;
}
return res;
}
}; 


京公网安备 11010502036488号