https://leetcode.com/problems/letter-combinations-of-a-phone-number/#/description
class Solution(object):
def letterCombinations(self, digits):
"""
:type digits: str
:rtype: List[str]
"""
if len(digits)==0: return []
keymap={'2':'abc', '3':'def', '4':'ghi', '5':'jkl', '6':'mno', '7':'pqrs', '8':'tuv', '9':'wxyz'}
res=[]
for c in keymap[digits[0]]:
res.append(c)
for d in digits[1:]:
res1=[]
for r in res:
for c in keymap[d]:
res1.append(r+c)
res=res1
return res