题解 | 字符串排列
字符串排列
https://www.nowcoder.com/practice/8380c8cf28954a188362206b1991b5d6
#include <algorithm>
#include <vector>
class Permutation {
void dfs(const string&A, string &cur, vector<bool> used, vector<string>&res){
if (cur.size() == A.size()) res.push_back(cur);
for(int i=0;i<A.length();++i){
if(used[i]) continue;
used[i] =true;
cur.push_back(A[i]);
dfs(A, cur, used, res);
cur.pop_back();
used[i] =false;
}
}
public:
vector<string> getPermutation(string A) {
// write code here
sort(A.rbegin(), A.rend());
string cur;
vector<string> res;
vector<bool> used(A.length(), false);
dfs(A, cur, used, res);
sort(res.rbegin(), res.rend());
return res;
}
};

查看17道真题和解析