排列问题: 全排列这里和77.组合问题、131.切割问题和78.子集问题最大的不同就是for循环里不用startIndex了。因为排列问题每次都要从头开始搜索要使用used数组if(used[i]1)continue;//当这一位已经被使用了跳到下一位 path.push_back(nums[i]); used[i]1; backtracking(nums,used); path.pop_back(); used[i]0;class Solution { public: vectorvectorintres; vectorintpath; void backtracking(vectorintnums,vectorboolused){ if(path.size()nums.size()){ res.push_back(path); return; } for(int i0;inums.size();i){ if(used[i]1)continue; path.push_back(nums[i]); used[i]1; backtracking(nums,used); path.pop_back(); used[i]0; } } vectorvectorint permute(vectorint nums) { vectorboolused(nums.size(),false); backtracking(nums,used); return res; } };