按照规则找数就行
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; } };