class Solution(object):
def letterCombinations(self, digits):
"""
:type digits: str
:rtype: List[str]
"""
lookup = {
'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']
}
def comb(s1,s2):
s3=[]
for s1i in s1:
for s2i in s2:
if s1i+s2i not in s3:
s3.append(s1i+s2i)
return s3
if len(str(digits))==0:
return []
elif len(str(digits))==1:
return lookup[str(digits)]
else:
head=str(digits)[0]
ret=lookup[head]
for i in str(digits)[1:]:
ret=comb(ret,lookup[i])
head=i
return ret