# Letter Combinations of a Phone Number LeetCode Solution

Here, We see Letter Combinations of a Phone Number LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.

# List of all LeetCode Solution

## Problem Statement

Given a string containing digits from `2-9` inclusive, return all possible letter combinations that the number could represent. Return the answer in any order.

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”

Example 2:
Input: digits = “”
Output: []

Example 3:
Input: digits = “2”
Output: [“a”,”b”,”c”]

## Letter Combinations of a Phone Number LeetCode Solution C++

``````class Solution {
public:
vector<string> letterCombinations(string digits) {
if (digits.empty()) return {};
string phone_map[] = {"abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
vector<string> output;
backtrack("", digits, phone_map, output);
return output;
}
private:
void backtrack(string combination, string next_digits, string phone_map[], vector<string>& output) {
if (next_digits.empty()) {
output.push_back(combination);
} else {
string letters = phone_map[next_digits[0] - '2'];
for (char letter : letters) {
backtrack(combination + letter, next_digits.substr(1), phone_map, output);
}
}
}
};```Code language: PHP (php)```

## Letter Combinations of a Phone Number LeetCode Solution Java

``````class Solution {
public List<String> letterCombinations(String digits) {
if (digits.isEmpty()) return Collections.emptyList();
String[] phone_map = {"abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
List<String> output = new ArrayList<>();
backtrack("", digits, phone_map, output);
return output;
}

private void backtrack(String combination, String next_digits, String[] phone_map, List<String> output) {
if (next_digits.isEmpty()) {
} else {
String letters = phone_map[next_digits.charAt(0) - '2'];
for (char letter : letters.toCharArray()) {
backtrack(combination + letter, next_digits.substring(1), phone_map, output);
}
}
}
}```Code language: JavaScript (javascript)```

## Letter Combinations of a Phone Number Solution JavaScript

``````var letterCombinations = function(digits) {
if (digits.length === 0) return [];
const phone_map = ["abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"];
const output = [];
backtrack("", digits, phone_map, output);
return output;
function backtrack(combination, next_digits, phone_map, output) {
if (next_digits.length === 0) {
output.push(combination);
} else {
const letters = phone_map[next_digits[0] - '2'];
for (const letter of letters) {
backtrack(combination + letter, next_digits.slice(1), phone_map, output);
}
}
}
};```Code language: JavaScript (javascript)```

## Letter Combinations of a Phone Number Solution Python

``````class Solution(object):
def letterCombinations(self, digits):
if not digits:
return []
phone_map = {
'2': 'abc',
'3': 'def',
'4': 'ghi',
'5': 'jkl',
'6': 'mno',
'7': 'pqrs',
'8': 'tuv',
'9': 'wxyz'
}
def backtrack(combination, next_digits):
if len(next_digits) == 0:
output.append(combination)
else:
for letter in phone_map[next_digits[0]]:
backtrack(combination + letter, next_digits[1:])
output = []
backtrack("", digits)
return output``````
Scroll to Top