17 Letter Combinations of a Phone number
class Solution(object):
def letterCombinations(self, digits):
"""
:type digits: str
:rtype: List[str]
"""
ans = []
d = { 2:"abc",
3:"def",
4:"ghi",
5:"jkl",
6:"mno",
7:"pqrs",
8:"tuv",
9:"wxyz"
}
for i in range(len(digits)):
p = d[ord(digits[i])-ord("0")]
if len(ans) == 0:
for j in p:
ans.append(j)
else:
ans_new = []
for j in p:
for k in ans:
ans_new.append(k+j)
ans = ans_new
#print ans
return ans