题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
时间复杂度
参考文献
C++ 代码
class Solution {
public:
unordered_map<char, vector<char>> hash;
vector<string> ans;
string cur ="";
vector<string> letterCombinations(string digits) {
if (digits.empty()) return {};
hash['2'] = {'a', 'b', 'c'};
hash['3'] = {'d', 'e', 'f'};
hash['4'] = {'g', 'h', 'i'};
hash['5'] = {'j', 'k', 'l'};
hash['6'] = {'m', 'n', 'o'};
hash['7'] = {'p', 'q', 'r', 's'};
hash['8'] = {'t', 'u', 'v'};
hash['9'] = {'w', 'x', 'y', 'z'};
dfs(digits, 0);
return ans;
}
void dfs(string digits, int u) {
if ( u == digits.size() && cur.size() == digits.size()) {
ans.push_back(cur);
return;
}
for ( int i = 0, j = u; i < hash[digits[j]].size(); i++) {
cur += hash[digits[j]][i];
dfs(digits, u+1);
cur = cur.substr(0, cur.size()-1);
}
}
};
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla