class Solution(object):
def letterCombinations(self, digits):
"""
:type digits: str
:rtype: List[str]
"""
ans=[]
if digits=="":return ans
map={}
map['0']=" "
map['2']="abc"
map['3']="def"
map['4']="ghi"
map['5']="jkl"
map['6']="mno"
map['7']="pqrs"
map['8']="tuv"
map['9']="wxyz"
if digits=="0":return "0"
if digits=='2':return ["a","b","c"]
if digits=='3':return ["d","e","f"]
if digits=='4':return ["g","h","i"]
if digits=='5':return ["j","k","l"]
if digits=='6':return ["m","n","o"]
if digits=='7':return ["p","q","r","s"]
if digits=='8':return ["t","u","v"]
if digits=='9':return ["w","x","y","z"]
t=self.letterCombinations(digits[1:])
for i in range(t.__len__()):
for j in range(len(map[digits[0]])):
ans.append(map[digits[0]][j]+t[i] )
return ans