跳到主要内容

784.字母大小写全排列

链接:784.字母大小写全排列
难度:Medium
标签:位运算、字符串、回溯
简介:返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。

题解 1 - cpp

  • 编辑时间:2022-10-30
  • 执行用时:4ms
  • 内存消耗:9.8MB
  • 编程语言:cpp
  • 解法介绍:模拟。
class Solution {
public:
vector<string> letterCasePermutation(string s) {
vector<string> list;
dfs(list, s, 0, "");
return list;
}
void dfs(vector<string> &list, string &s, int idx, string &&cur) {
if (idx == s.size()) {
list.push_back(cur);
return;
}
dfs(list, s, idx + 1, cur + s[idx]);
if (s[idx] >= 'A' && s[idx] <= 'Z' || s[idx] >= 'a' && s[idx] <= 'z') {
dfs(list, s, idx + 1, cur + static_cast<char>(s[idx] ^ 0b100000));
}
}
};