lc46-Permutations 發表於 2016-09-11 | 分類於 leetcode | 0 comments | 123456789101112131415161718192021222324252627282930313233343536class Solution {private: vector<vector<int>> ans; vector<int> marked; vector<int> sol;public: vector<vector<int>> permute(vector<int>& nums) { for (int i = 0; i < nums.size(); i++) marked.push_back(0); permute_(nums); return ans; } void permute_(vector<int>& nums) { bool flag = false; int i; for (i = 0; i < nums.size(); i++) { if(!marked[i]) { sol.push_back(nums[i]); marked[i] = 1; flag = true; } else continue; permute_(nums); sol.pop_back(); marked[i] = 0; } if (!flag) { ans.push_back(sol); return; } }};