1class Solution {2public:3void per(int ind, int n, vector<int> &nums, vector<vector<int>> &ans) {4if (ind == n) {5ans.push_back(nums);6return;7}8for (int i = ind; i < n; i++) {9swap(nums[ind], nums[i]);10per(ind + 1, n, nums, ans);11swap(nums[ind], nums[i]);12}13}14vector<vector<int>> permute(vector<int> &nums) {15vector<vector<int>> ans;16int n = nums.size();17per(0, n, nums, ans);18return ans;19}20};