Letter Combinations of a Phone Number

Medium~20 min

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"]
Explanation: Digit 2 maps to "abc" and digit 3 maps to "def". All 3×3 = 9 combinations are generated.
Example 2
Input: digits = ""
Output: []
Explanation: An empty string has no digits, so there are no combinations.
Example 3
Input: digits = "2"
Output: ["a","b","c"]
Explanation: Digit 2 maps to letters a, b, c.

Constraints

  • 0 <= digits.length <= 4
  • digits[i] is a digit in the range ["2", "9"]
  • Expected time complexity: O(4^n)
Code
Ctrl+EnterRun|Ctrl+⇧+EnterSubmit
Output

Run your code to see results

Use Cmd+Enter to run