class Solution {
public:
vector<string> res;
vector<string> board = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
string str;
void dfs(int pos, string digits){
if(pos == digits.size()){
res.push_back(str);
return;
}
int num = digits[pos] - '0';
for(int i = 0; i < board[num].size(); ++i){
str.push_back(board[num][i]);
dfs(pos + 1, digits);
str.pop_back(); //回溯
}
}
vector<string> letterCombinations(string digits) {
if(digits.size() == 0){
return res;
}
dfs(0, digits);
return res;
}
};
06-07