题目:
代码(首刷自解 2024年2月6日):
class Solution {
private:vector<vector<int>> res;vector<int> path;
public:void backtracking(vector<int>& nums, int depth, vector<bool>& used) {if (depth == nums.size()) {res.push_back(path);return;}for (int i = 0; i < nums.size(); ++i) {if (used[i] == true) continue;path.push_back(nums[i]);used[i] = true;backtracking(nums, depth + 1, used);used[i] = false;path.pop_back();}return;}vector<vector<int>> permute(vector<int>& nums) {res.clear();path.clear();vector<bool> used(nums.size(), 0);//记录同一树枝上已用过的节点backtracking(nums, 0 ,used);return res;}
};