## Problem Statement

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"].

**Note:**

Although the above answer is in lexicographical order, your answer could be in any order you want.

**Solution:**

class Solution:
def letterCombinations(self, digits: str) -> List[str]:
if len(digits)==0:
return []
result = []
self.helpCombine(digits, '', result)
return result
def helpCombine(self, digits, currentStr, result):
if len(digits)==0:
result.append(currentStr)
return
mappings = {
'0': '',
'1': '',
'2': 'abc',
'3': 'def',
'4': 'ghi',
'5': 'jkl',
'6': 'mno',
'7': 'pqrs',
'8': 'tuv',
'9': 'wxyz'
}
possibleChars = mappings[digits[0]]
for char in possibleChars:
currentStr+=char
self.helpCombine(digits[1:], currentStr, result)
currentStr = currentStr[:-1]