leetcode 无重复字符串的排列和组合
1.题目要求:
2.题目代码:
class Solution {
public:
vector<string> result;
string str;
//利用回溯去解决此问题
void backtricking(string S,vector<bool>& used){
if(str.size() == S.size()){
result.push_back(str);
}
//用used去掉重复的排列与组合
for(int i = 0;i < S.size();i++){
if(used[i] == false){
str.push_back(S[i]);
used[i] = true;
backtricking(S,used);
str.pop_back();
used[i] =false;
}else{
continue;
}
}
}
vector<string> permutation(string S) {
vector<bool> used;
used.resize(S.size(),false);
backtricking(S,used);
return result;
}
};