两个题差不多,只是剑指没有保证输入的字符串没有重复的字符,并要求输出不重复,所以用了set来保证排列的结果不重复
class Solution { public: vector<vector<int>> permute(vector<int>& nums) { permute(nums,0); return res; } void permute(vector<int>& nums,int begin){ if(begin == nums.size() - 1) res.push_back(nums); for(int i = begin;i < nums.size();i++){ swap(nums[i],nums[begin]); permute(nums,begin+1); swap(nums[i],nums[begin]); } } vector<vector<int>> res; };