leetcode46. Permutations

来源:互联网 发布:网络cry是什么意思啊 编辑:程序博客网 时间:2024/05/22 12:33

leetcode46. Permutations

class Solution {public:    vector<vector<int>> permute(vector<int>& nums) {        vector<vector<int>> result = {};        vector<vector<int>> retResult = {};        vector<int> temp = {};        if (nums.size()<1) {            result.push_back(temp);            return result;        }         if (nums.size() == 1) {            result.push_back(nums);            return result;        }        if (nums.size() == 2) {            result.push_back(nums);            temp.push_back(nums[1]);            temp.push_back(nums[0]);            result.push_back(temp);            return result;        }        sort(nums.begin(),nums.end());        temp.assign(nums.begin(), nums.end());        /*        for (int i = 0; i<temp.size(); i++) {            cout << temp[i];        }*/            for (int j = 0; j < nums.size(); j++) {                temp.erase(temp.begin()+j);                result = permute(temp);                for (int i = 0; i<result.size(); i++) {                        result[i].insert(result[i].begin(),nums[j] );                        retResult.push_back(result[i]);                    }            temp.assign(nums.begin(), nums.end());        }        return retResult;    }};
原创粉丝点击