暴力方法 O(n^3)

class Solution {
public:
    vector<vector<int> > threeSum(vector<int> &num) {
        vector<vector<int> > res;
        if(num.size() < 3)
            return res;
        for(int i = 0; i < num.size() - 2; i++) {
            for(int j = i + 1; j < num.size() - 1; j++) {
                for(int k = j + 1; k < num.size(); k++) {
                    vector<int> ans;
                    auto x = num[i] + num[j];
                    if(num[k] == -x) {
                        ans.push_back(num[i]);
                        ans.push_back(num[j]);
                        ans.push_back(num[k]);
                    }
                    if(ans.size()) {
                        sort(ans.begin(), ans.end());
                        res.push_back(ans);
                    }
                }
            }
        }
        sort(res.begin(), res.end());
        res.erase( unique( res.begin(), res.end()), res.end() );
        return res;
    }
};