分析:递归回溯
class Solution {
private:
const string letterMap[10] = {
" ",
"",
"abc",
"def",
"ghi",
"jkl",
"mno",
"pqrs",
"tuv",
"wxyz"
};
vector<string> res;
void findCombination(string digits, int index, string s){
if(index == digits.size()){
res.push_back(s);
return;
}
char c = digits[index];
string letters = letterMap[c-'0'];
for(int i = 0; i < letters.size(); i ++){
findCombination(digits, index + 1, s + letters[i]);
}
}
public:
vector<string> letterCombinations(string digits) {
if(digits == "")
return res;
findCombination(digits, 0, "");
return res;
}
};