void pHelp(vector<vector<int>> &res,vector<int> &rp,vector<int> &nums,unordered_map<int,int> &vis) { if(rp.size()==nums.size()) { res.push_back(rp); return; } for(unsigned int i=0;i<nums.size();++i) { if(vis[nums[i]]==0) { vis[nums[i]]=1; rp.push_back(nums[i]); pHelp(res,rp,nums,vis); rp.pop_back(); vis[nums[i]]=0; } } } vector<vector<int>> permute(vector<int>& nums) { vector<vector<int>> res; vector<int> rp; unordered_map<int,int> vis; pHelp(res,rp,nums,vis); return res; }
[LeetCode] 22. Generate Parentheses
最新推荐文章于 2021-08-27 14:30:10 发布