Menu
CoddyTech

Letter Combinations of a Phone Number

電話のキーパッドでは、2から9までの各数字にいくつかの文字が割り当てられています。2は abc、3は def、4は ghi、5は jkl、6は mno、7は pqrs、8は tuv、9は wxyz です。

文字列 digits が与えられます。数字の順序を保ちながら、各数字に対して文字を1つ選ぶと、キーで入力できる文字列が1つできます。そのような文字列をすべて辞書順に並べて返してください。

関数

letterCombinations(digits: string) → string-array
digitsstring
押された数字は、それぞれ2から9までです
戻り値string-array
キーで入力できるすべての文字列を、辞書順に並べたもの

制約

  • 1 ≤ digits.length ≤ 4
  • digitsの各文字は、2から9までの数字です。
  • 答えは最大で 44 = 256 個の文字列になります。

例

入力
digits = "23"
出力
["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]
説明
2はa、b、cを提示し、3はd、e、fを提示します。1文字目はそれぞれ2文字目の各文字と組み合わされます。3 × 3 = 9個の文字列ができ、1文字目の変化が最も遅くなる順に並びます。
challenge icon

発展問題

辞書に載っている実在の単語の組み合わせだけが欲しいとします。すべての 4^n の文字列を先に作らずに済ませるには、どうすればよいでしょうか?

コードをリセット
def letterCombinations(digits):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

digits = "23"

期待される出力

["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]