vector<vector<int> > permute(vector<int> &num) {
vector<vector<int>> permutations;
if (num.size() <= 1)
{
permutations.push_back(num);
return permutations;
}
int lastNum = num.back();
num.pop_back();
vector<vector<int>> permutationsWithoutLastNum = permute(num);
for (int i = 0; i < permutationsWithoutLastNum.size(); i++)
{
vector<int> permutationWithoutLastNum = permutationsWithoutLastNum[i];
for (int j = 0; j <= permutationWithoutLastNum.size(); j++)
{
vector<int> permutation = permutationWithoutLastNum;
permutation.insert(permutation.begin()+j, lastNum);
permutations.push_back(permutation);
}
}
return permutations;
}
[LeetCode] Permutation
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.