While this would certainly not help in an interview, this can be solved with STL's own next_permutation :)

```
class Solution {
public:
vector<vector<int>> permute(vector<int>& nums)
{
vector<vector<int>> result;
sort(nums.begin(), nums.end());
do
{
result.push_back(nums);
} while(next_permutation(nums.begin(), nums.end()));
return result;
}
}
```