Practice Problem

Letter Combinations of a Phone Number

Difficulty: Medium

Given a string containing digits from 2-9, return all possible letter combinations that the number could represent on a phone keypad.

Letter Combinations of a Phone Number

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.

2 → abc    3 → def    4 → ghi
5 → jkl    6 → mno    7 → pqrs
8 → tuv    9 → wxyz

Examples

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"]

Constraints

  • 0 <= digits.length <= 4
  • digits[i] is a digit in the range ['2', '9']

Expected Complexity

  • Time: O(4^n * n) where n is the length of digits. in the worst case each digit maps to 4 letters (like 7 or 9), and we copy each combination of length n
  • Space: O(n). recursion depth (excluding the output)
MEDIUM
Strings
Backtracking
Recursion
Algorithms
Intermediate

0 views

Solution

Hints

Hint 1
Hint 2
Premium
Hint 3
Premium
Hint 4
Premium