Буквенные комбинации телефонного номера

Задав строку, содержащую цифры от 2 до 9 включительно, верните все возможные буквенные комбинации, которые может представлять собой номер. Возвращайте ответ в любом порядке.

Ниже приведено отображение цифр на буквы (как на кнопках телефона). Обратите внимание, что 1 не соответствует ни одной букве.

class Solution(object):
    def letterCombinations(self, digits):

        res = []
        if not digits:
            return res

        d = {
            "2":"abc", 
            "3": "def",
            "4":"ghi", 
            "5": "jkl", 
            "6":"mno", 
            "7": "pqrs", 
            "8":"tuv", 
            "9": "wxyz",    
        }

        def backtrack(i, curStr):
            if len(curStr) == len(digits):
                res.append(curStr)
                return

            for c in d[digits[i]]:
                backtrack(i + 1, curStr + c)


        backtrack(0, "")

        return res



Вход в полноэкранный режим Выход из полноэкранного режима

Оцените статью
devanswers.ru
Добавить комментарий