17,电话号码的字母组合

class Solution(object):
    def letterCombinations(self, digits):
        self.src_list = ['', '',
                    ['a', 'b', 'c'],
                    ['d', 'e', 'f'],
                    ['g', 'h', 'i'],
                    ['j', 'k', 'l'],
                    ['m', 'n', 'o'],
                    ['p', 'q', 'r', 's'],
                    ['t', 'u', 'v'],
                    ['w', 'x', 'y', 'z']
                    ]
        digits.replace("1", "").replace("0", "")
        if not digits:
            return []
        return self.func(digits)


    def func(self, digits):
        rlt = []
        if not digits:
            return ['']
        else:
            index = int(digits[0])
            for w in self.src_list[index]:
                tmp = self.func(digits[1:])
                for s in tmp:
                    rlt.append(w + s)
        return rlt

猜你喜欢

转载自blog.csdn.net/weixin_42758299/article/details/88572990