您的位置:首页 > 其它

46 Permutations(全排列Medium)

2015-06-14 21:54 375 查看
题目意思:全排列

思路:其实看这题目意思,是不太希望用递归的,不过还是用了递归,非递归的以后再搞吧

  ps:vector这玩意不能随便返回,开始递归方法用vector,直接到500ms,换成void,到12ms

class Solution {
public:
vector<vector<int>> permute(vector<int>& nums) {
vector<vector<int> >ans;
permute1(ans,nums,0);
return ans;
}
void permute1(vector<vector<int>>& ans,vector<int>& nums,int begin) {
if(begin==nums.size()-1){
ans.push_back(nums);
}
for(int i=begin;i<nums.size();++i){
swap(nums[i],nums[begin]);
permute1(ans,nums,begin+1);
swap(nums[i],nums[begin]);
}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: