难度:中等
题目描述:
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
示例:
输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
解题思路:
回朔算法
var letterCombinations = function(digits) {if(digits.length ===0) return []const map = new Map([["2", "abc"],["3", "def"],["4", "ghi"],["5", "jkl"],["6", "mno"],["7", "pqrs"],["8", "tuv"],["9", "wxyz"],]);let result = [];const getResult = (str, index) => {if (index === digits.length) {result.push(str);return;}let num = digits[index];let strs = map.get(num);for (let i = 0; i < strs.length; i++) {getResult(str + strs[i], index + 1);}};getResult("", 0);return result;};
