/** * @param {string} digits * @return {string[]} */ var letterCombinations = function(digits) { if (!digits) { return []; } const result = []; const map = {2: 'abc', 3: 'def', 4:'ghi', 5:'jkl', 6:'mno', 7:'pqrs', 8: 'tuv', 9:'wxyz',}; computeCombinations(map, digits, 0, result, ''); return result; }; const computeCombinations = (map, digits, index, result, str) => { if (index === digits.length) { result.push(str); } else { for (const letter of map[digits[index]].split('')) { computeCombinations(map, digits, index + 1, result, str + letter); } } };
Categories