leetcode题解-全排列

    技术2025-04-19  10

    class Solution { public: vector<vector<int>> result; vector<bool> flag; void backfind(int root, vector<int> nums, vector<int> &temp) { temp.push_back(nums[root]); flag[root] = true; if (temp.size() == nums.size()) result.push_back(temp); else { for (int i = 0; i < nums.size(); i++) if (!flag[i]) backfind(i, nums, temp); } temp.pop_back(); flag[root] = false; } vector<vector<int>> permute(vector<int> &nums) { for (int i = 0; i < nums.size(); i++) flag.push_back(false); vector<int> temp; for (int i = 0; i < nums.size(); i++) backfind(i, nums, temp); return result; } };

     

    Processed: 0.008, SQL: 9