46.全排列

https://programmercarl.com/0046.%E5%85%A8%E6%8E%92%E5%88%97.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE

class Solution {
public:
    vector<int>used;
    vector<int>cur;
    vector<int>v;
    vector<vector<int>>res;
    void bt() {
        if(cur.size()==v.size())
        {res.push_back(cur);return;}
        for(int i=0;i<v.size();i++){
            if(used[i]==0){
                used[i]=1;cur.push_back(v[i]);bt();cur.pop_back();used[i]=0;
            }
        }
    }
    vector<vector<int>> permute(vector<int>& nums) {
        v=nums;used=vector<int>(v.size(),0);bt();return res;
    }
};