面试题 08.08. 有重复字符串的排列组合
程序员文章站
2024-03-04 09:07:17
...
面试题 08.08. 有重复字符串的排列组合 - 力扣(LeetCode)
回溯,去重:剑指 Offer 38. 字符串的排列_zj-CSDN博客
class Solution {
public:
vector<string> res;
string tmp;
vector<string> permutation(string S) {
sort(S.begin(), S.end());
backtrack(S);
return res;
}
void backtrack(string &s){
if(tmp.size() == s.size()){
res.emplace_back(tmp);
return;
}
for(int i = 0; i < s.size(); ++i){
if(s[i] == '_' || (i > 0 && s[i] == s[i-1])) continue;
char c = s[i];
tmp += s[i];
s[i] = '_';
backtrack(s);
s[i] = c;
tmp.pop_back();
}
}
};
上一篇: Android实现水波纹效果
下一篇: 开发一个自动点击工具