LeetCode HOT100 - 电话号码的字母组合
就是回溯
每一轮选择可能的字母填上
class Solution {
public:
vector<string> letterCombinations(string a) {
vector<string> ans;
string path;
vector<string> mp = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
auto dfs = [&](this auto&& self, int u){
if (u == a.size()) {
ans.push_back(path);
return;
}
for (char c : mp[a[u] - '0']) {
path.push_back(c);
self(u + 1);
path.pop_back();
}
};
if (a.empty()) {
return {};
}
dfs(0);
return ans;
}
};

浙公网安备 33010602011771号