Menu
CoddyTech

Letter Combinations of a Phone Number

中等回溯python iconjava iconcpp iconc iconjs icon+10

在手机键盘上,2 到 9 的每个数字都对应几个字母:2 对应 abc,3 对应 def,4 对应 ghi,5 对应 jkl,6 对应 mno,7 对应 pqrs,8 对应 tuv,9 对应 wxyz。

给你一个字符串 digits。为每个数字选一个字母,同时保持数字的顺序,就能得到一个键盘可以输入的字符串。返回所有这样的字符串,并按字典序排序。

函数

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。每个首字母都与每个次字母配对:3 × 3 = 9 个字符串,按首字母变化最慢的顺序排序。
challenge icon

进阶

假设你只想要字典中的真实单词组合。怎样才能避免先生成所有 4^n 个字符串?

重置代码
def letterCombinations(digits):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

digits = "23"

预期输出

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