/**
* @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