全排列 给定一个没有重复数字的序列,返回其所有可能的全排列。

比较经典的回溯算法,用了之后记得要标记出来。标记后下一轮记得重置

class Solution {
public:
    vector> permute(vector& nums) {
        vector> res;
        if(nums.empty())
            return res;
        int n=nums.size();
        vector out;
        bool *used=new bool[n];
        memset(used,0,n);
        shengcheng(res,nums,out,used,n);
        delete[] used;
        return res;
        
    }
    void shengcheng(vector>&res,vector& nums,vector&out,bool *used,int total)
    {
        if(out.size()==total)
        {
            res.push_back(out);
            //out.pop_back();
        }
        for(int i=0;i

 

你可能感兴趣的:(全排列 给定一个没有重复数字的序列,返回其所有可能的全排列。)