https://leetcode.com/problems/letter-combinations-of-a-phone-number/submissions/
Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. A mapping of digit to letters (just like on the telephone buttons) is given below. Note that 1 does not map to any letters. Example: Input: "23" Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
class Solution: def letterCombinations(self, digits: str) -> List[str]: if len(digits) == 0: return [] digit_to_abc = { '2':'abc', '3':'def', '4':'ghi', '5':'jkl', '6':'mno', '7':'pqrs', '8':'tuv', '9':'wxyz' } solutions = ['',] for i, d in enumerate(digits): newChars = digit_to_abc[d] solutions_temp = [] for newChar in newChars: temp = [x + newChar for x in solutions] solutions_temp += temp solutions = solutions_temp return solutions
class Solution: def letterCombinations(self, digits: str) -> List[str]: if len(digits) == 0: return [] digit_to_abc = { '2':'abc', '3':'def', '4':'ghi', '5':'jkl', '6':'mno', '7':'pqrs', '8':'tuv', '9':'wxyz' } solutions = ['',] for i, d in enumerate(digits): newChars = digit_to_abc[d] solutions_temp = [] for newChar in newChars: temp = [x + newChar for x in solutions] solutions_temp += temp solutions = solutions_temp return solutions