#include
#include
using namespace std;
class Solution
{
public:
vector<vector> permute(vector nums)
{
vector<vector> res;
vector resTemp;
backTrace(res,resTemp,nums);
return res;
}
bool contains(vector vec,int dst)
{
for(vector::const_iterator it=vec.begin();it!=vec.end();it++)
{
if(*it==dst)
return true;
}
return false;
}
void backTrace(vector<vector>& res,vector& resTemp,vector& nums)
{
if(resTemp.size()==nums.size())
res.push_back(resTemp);
else
{
for(int i=0;i<nums.size();i++)
{
if(contains(resTemp,nums[i]))
continue;
resTemp.push_back(nums[i]);
backTrace(res,resTemp,nums);
resTemp.pop_back();
}
}
}
};
int main(int arg
求【1...N】的全排列
最新推荐文章于 2022-03-26 07:24:10 发布