LintCode: 电话号码的字母组合

来源:互联网 发布:大数据行业法律风险 编辑:程序博客网 时间:2024/04/30 11:27

LintCode: 电话号码的字母组合

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()
0 0