题目链接
https://leetcode.com/problems/letter-combinations-of-a-phone-number/
解题思路
dfs找答案即可,具体见代码
代码
class Solution {
public:
vector<string> letterCombinations(string digits) {
vector<string> ans;
if (digits.length() <= 0) {
return ans;
}
vector<string> table = { "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
vector<string> v;
for (auto ch : digits) {
v.push_back(table[ch - '2']);
}
dfs(ans, v, "", 0);
return ans;
}
void dfs(vector<string> &ans, vector<string> &v, string s, int i) {
if (i >= v.size()) {
ans.push_back(s);
return;
}
string cur = v[i];
for (int k = 0; k < cur.length(); ++k) {
dfs(ans, v, s + cur[k], i + 1);
}
}
};