class Solution:
# @param {string} digits A digital string
# @return {string[]} all posible letter combinations
def letterCombinations(self, digits):
# Write your code here
dig_dict = {2:'abc', 3:'def', 4:'ghi', 5:'jkl', 6:'mno', 7:'pqrs', 8:'tuv', 9:'wxyz'}
n = len(digits)
if n == 0:
return []
self.ans = []
res = []
self.my_letterCombinations(res, digits, dig_dict, 0)
return self.ans
def my_letterCombinations(self, res, digits, dig_dict, index):
if len(res) == len(digits):
self.ans.append(''.join(res))
return
string = dig_dict[int(digits[len(res)])]
for index in range(len(string)):
res.append(string[index])
self.my_letterCombinations(res, digits, dig_dict, index+1)
res.pop()
LintCode: 电话号码的字母组合
最新推荐文章于 2021-07-28 16:05:47 发布