class Solution {
public:
vector<string> V;
void permutation(string& s, int ind) {
if(ind == s.size() - 1) V.push_back(s);
set<char> S;
for(int ii = ind; ii < s.size(); ii++) {
if(S.find(s[ii]) == S.end()) {
swap(s[ii], s[ind]);
permutation(s, ind + 1);
swap(s[ii], s[ind]);
S.insert(s[ii]);
}
}
}
vector<string> permutation(string& s) {
permutation(s, 0);
return V;
}
};
【leetcode C++】剑指 Offer 38. 字符串的排列
最新推荐文章于 2022-06-19 19:26:02 发布