题目描述

解题思路

代码示例
class Solution
{
public:vector<string> letterCombinations(string digits) {vector<string> combinations;if (digits.empty()) {return combinations;}unordered_map<char, string> phoneMap{{&#39;2&#39;, "abc"},{&#39;3&#39;, "def"},{&#39;4&#39;, "ghi"},{&#39;5&#39;, "jkl"},{&#39;6&#39;, "mno"},{&#39;7&#39;, "pqrs"},{&#39;8&#39;, "tuv"},{&#39;9&#39;, "wxyz"}};string combination;backtrack(combinations, phoneMap, digits, 0, combination);return combinations;}void backtrack(vector<string>& combinations, const unordered_map<char, string>& phoneMap, const string& digits, int index, string& combination) {if (index &#61;&#61; digits.length()) {combinations.push_back(combination);} else {char digit &#61; digits[index];const string& letters &#61; phoneMap.at(digit);for (const char& letter: letters) {combination.push_back(letter);backtrack(combinations, phoneMap, digits, index &#43; 1, combination);combination.pop_back();}}}
};
力扣