Files
algo-grind/leetcode/17_letter_combinations_of_a_phone_number.py

25 lines
650 B
Python

from typing import List
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
if len(digits) == 0:
return []
options = {
"2": ("a", "b", "c"),
"3": ("d", "e", "f"),
"4": ("g", "h", "i"),
"5": ("j", "k", "l"),
"6": ("m", "n", "o"),
"7": ("p", "q", "r", "s"),
"8": ("t", "u", "v"),
"9": ("w", "x", "y", "z"),
}
pools = (options[digit] for digit in digits)
result = [""]
for pool in pools:
result = [x + y for x in result for y in pool]
return result