思路
本题还是一样的回溯模型:递归的从左往右考虑每个位置的数字,循环来确定每个位置所代表的数字,然后继续递归确定下一个位置。
为了方便实现,在回溯之前,先列出映射表,代表每个数字所对应的字母列表。 #code-switcher
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
给定一个只含数字字符 2 至 9 的字符串,请计算它按照下图的电话键盘映射能够产生的所有字母组合,注意其中数字 1 不对应任何字母。

返回结果可以按任意顺序排列。
约束条件:字符串的长度在 0 到 4 之间;每个字符都是 2 到 9 之间的数字。
输入包含一个参数:一个字符串 digits,表示待转换的数字按键序列。
返回一个字符串列表,其中每个字符串是一种可能的字母组合,使用小写字母。返回顺序不作限制。
输入
2
输出
a b c
说明
数字 2 在电话键盘上对应字母 a、b、c。因此所有可能的字母组合就是这三个单字母字符串,共 3 种。
输入
29
输出
aw ax ay az bw bx by bz cw cx cy cz
说明
数字 2 对应字母 a、b、c,数字 9 对应字母 w、x、y、z。组合时依次从两个数字对应的字母中各选一个进行拼接,共有 3×4=12 种组合。
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册