您的位置:首页 > 其它

LeetCode || Permutations

2015-09-07 11:55 316 查看
class Solution {
public:

void permutation(vector<int>& nums, int start, vector<vector<int>>& permu)
{
if(start == nums.size())
{
permu.push_back(nums);
}

for(int i = start;i<nums.size();i++)
{
//交换i和start,相当于固定start位置的值
int tmp = nums[i];
nums[i] = nums[start];
nums[start] = tmp;

permutation(nums, start+1, permu);

//还原之前的交换
tmp = nums[i];
nums[i] = nums[start];
nums[start] = tmp;
}
}
vector<vector<int>> permute(vector<int>& nums) {
vector<vector<int>> permu;
permutation(nums, 0, permu);
return permu;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: