Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- void helper(vector<vector<int> >& res, vector<int>& tmpRes, vector<int>& nums){
- if(nums.size()==0){
- res.push_back(tmpRes);
- return;
- }
- for(int i=0; i<nums.size(); i++){
- tmpRes.push_back(nums[i]);
- int tmp = nums[i];
- swap(nums[i], nums[nums.size()-1]);
- nums.pop_back();
- helper(res, tmpRes, nums);
- nums.push_back(tmp);
- swap(nums[i], nums[nums.size()-1]);
- tmpRes.pop_back();
- }
- }
- vector<vector<int>> permute(vector<int>& nums) {
- vector<vector<int> > res;
- if(nums.empty())
- return res;
- vector<int> tmpRes;
- helper(res, tmpRes, nums);
- return res;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement