字符串全排列问题描述策略选择 循环构建全排列 递归构建全排列 判断相同字符的选择 算法设计算法分析 时间复杂度O(n!) 空间复杂度O(n2) 算法实现123456789101112131415161718192021222324252627vector<string> permutation(string s) { vector<string> vec; string pre; perm(pre,s,vec); return vec;}void perm(string pre,string s,vector<string> &vec){ if(s.size()==0){ // cout<<pre<<endl; vec.push_back(pre); return; } set<char> se; for(int i=0;i<s.size();i++){ string temp = s; if(se.count(s[i])){ continue; } else{ se.insert(s[i]); } perm(pre+s[i],temp.erase(i,1),vec); } return ;}