Leetcode•Jul 10, 2025
Letter Combinations of a Phone Number
Hazrat Ali
Leetcode
A mapping of digits to letters (just like on the telephone buttons) is given below. Note that 1 does not map to any letters.
Example 1:
Input: digits = "23" Output: ["ad","ae","af","bd","be","bf","cd","ce","cf"]
Example 2:
Input: digits = "" Output: []
Example 3:
Input: digits = "2" Output: ["a","b","c"]
Solution
const keyboard = [' ', '', 'abc', 'def', 'ghi', 'jkl', 'mno', 'pqrs', 'tuv', 'wxyz'];
/**
* @param {string} digits
* @return {string[]}
*/
const letterCombinations = digits => {
if (!digits) {
return [];
}
const results = [];
backtracking(digits, 0, '', results);
return results;
};
const backtracking = (digits, start, solution, results) => {
if (start === digits.length) {
return results.push(solution);
}
const index = parseInt(digits[start]);
const keys = keyboard[index];
for (let i = 0; i < keys.length; i++) {
backtracking(digits, start + 1, solution + keys[i], results);
}
};