25 lines
650 B
Python
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
|