本文共 914 字,大约阅读时间需要 3 分钟。
给定一个 没有重复 数字的序列,返回其所有可能的全排列。
class Solution { public: vector> permute(vector & nums) { if(nums.size() == 0) return { }; vector > res; vector tmp; vector flag(nums.size(),0); DFS(res,tmp,flag,nums); return res; } void DFS(vector > &res,vector &tmp,vector &flag,vector nums){ if(tmp.size() == nums.size()){ res.push_back(tmp); } for(int i = 0;i < nums.size();i++){ if(flag[i] == 1) continue; flag[i]=1; tmp.push_back(nums[i]); DFS(res,tmp,flag,nums); tmp.pop_back(); flag[i]=0;//不要忘了回溯的时候置回0 } }};
通过时间:
转载地址:http://fsemb.baihongyu.com/