Advertisement
Guest User

Untitled

a guest
May 30th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. class Solution {
  2. public:
  3. void helper(vector<vector<int> >& res, vector<int>& tmpRes, vector<int>& nums){
  4. if(nums.size()==0){
  5. res.push_back(tmpRes);
  6. return;
  7. }
  8.  
  9. for(int i=0; i<nums.size(); i++){
  10. tmpRes.push_back(nums[i]);
  11. int tmp = nums[i];
  12. swap(nums[i], nums[nums.size()-1]);
  13. nums.pop_back();
  14. helper(res, tmpRes, nums);
  15. nums.push_back(tmp);
  16. swap(nums[i], nums[nums.size()-1]);
  17. tmpRes.pop_back();
  18. }
  19. }
  20.  
  21. vector<vector<int>> permute(vector<int>& nums) {
  22. vector<vector<int> > res;
  23. if(nums.empty())
  24. return res;
  25. vector<int> tmpRes;
  26. helper(res, tmpRes, nums);
  27. return res;
  28. }
  29. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement