电话号码的字母组合
程序员文章站
2022-06-05 13:43:07
...
1 [1,2,3] 与[2,3,4] 相乘或者相加,也就是[12,13,14, 22,23,24, 32,33,3*4].
a = [ i*j for i in [1,2,3] for j in [1,2,3]]
print(a)
#[2, 3, 4, 3, 4, 5, 4, 5, 6]
2 电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
示例:
输入:“23”
输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
if not digits: return []
dic = {'2':'abc', '3':'def', '4':'ghi', '5':'jkl', '6':'mno', '7':'pqrs', '8':'tuv', '9':'wxyz'}
ans = ['']
for k in digits:
ans = [i+j for i in ans for j in dic[k]]
return ans