给定一个仅包含数字2-9的字符串,返回所有它 能表示的字母组合。答案可以按任意顺序返回。 给出数字到字母的映射如下:(与电话按键相同) 注意1不对应任何字母 输入代码也加上
时间: 2024-05-08 09:20:46 浏览: 146
输入数字输出对应的字符串
4星 · 用户满意度95%
以下是Python代码实现:
```python
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
if not digits:
return []
phone = {'2': ['a', 'b', 'c'], '3': ['d', 'e', 'f'], '4': ['g', 'h', 'i'], '5': ['j', 'k', 'l'], '6': ['m', 'n', 'o'], '7': ['p', 'q', 'r', 's'], '8': ['t', 'u', 'v'], '9': ['w', 'x', 'y', 'z']}
res = []
def dfs(index: int, path: str):
if index == len(digits):
res.append(path)
return
for i in phone[digits[index]]:
dfs(index+1, path+i)
dfs(0, "")
return res
```
例如,输入数字字符串"23",则输出为["ad","ae","af","bd","be","bf","cd","ce","cf"]。
阅读全文