leetcode784. 字母大小写全排列

好久没写了,随便写写吧。
长度不超过12,就可以直接暴力了。
class Solution {
public:
vector<string> ans;
vector<int> ind;
string p;
int dfs(int a){
if (a==ind.size()){
ans.push_back(p);
return 0;
}
string temp=p;
dfs(a+1);
p[ind[a]]+='A'-'a';
dfs(a+1);
p=temp;
return 1;
}
vector<string> letterCasePermutation(string s) {
int i;
for(i=0;i<s.length();i++){
if(s[i]>='a'&&s[i]<='z'){
ind.push_back(i);
}
if(s[i]>='A'&&s[i]<='Z'){
ind.push_back(i);
s[i]+='a'-'A';
}
}
p=s;
dfs(0);
return ans;
}
};

浙公网安备 33010602011771号