leetcode 电话号码组合题执行错误
class Solution {
public:
vector<string> letterCombinations(string digits) {
unordered_map<char, string>phmap{
{2, "abc"},
{3, "def"},
{4, "ghi"},
{5, "jkl"},
{6, "mno"},
{7, "pqrs"},
{8, "tuv"},
{9, "wxyz"}
};
vector<string> letterCombinations;
string combination;
merge_combination(phmap, letterCombinations, digits, combination, 0);
return letterCombinations;
}
void merge_combination(unordered_map<char, string> &phmap, vector<string>& letterCombinations, const string& digits, string& combination, int i){
if(digits.size() <= i){
letterCombinations.push_back(combination);
combination.pop_back();
return;
}
string index = phmap[digits[i]];
for(int k = 0; k < index.size(); ++k){
combination.push_back(index[k]);
merge_combination(phmap, letterCombinations, digits, combination, i + 1);
}
}
};