1. 电话号码的字母组合
(17)给定一个仅包含数字
2-9的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
输入:digits = "23" 输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
```python
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
MAP = ['','','abc','def','ghi','jkl','mno','pqrs','tuv','wxyz']
n = len(digits)
res= []
path = [''] * n
def dfs(i):
if i == n:
res.append(''.join(path))
return
for c in MAP[int(digits[i])]:
path[i] = c
dfs(i+1)
dfs(0)
return res
2 子集
(78)给你一个整数数组
nums,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。
示例 1:
1
2 输入:nums = [1,2,3]
输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
1 | class Solution: |