LeetCode 784.字母大小写全排列
dfs所有情况一把梭,当遇到当前字符是字母时,分别以大小写分别进行下一步dfs,然后将每一次dfs末端的结果保存,最后得到的就是全排列组合。
class Solution {
public:
vector<string> ans;
vector<string> letterCasePermutation(string s) {
dfs(s, 0);
return ans;
}
void dfs(vector<string> &s, int u)
{
if(u==s.size()) ans.push_back(s);
else
{
dfs(s, u+1);
if(!isdigit(s[u]))
{
s[u]^=32;
dfs(s, u+1);
s[u]^=32;
}
}
}
};