按照规则找数就行

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;
    }
};