# coding=utf-8
# This is a sample Python script.
# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
from functools import wraps
class Solution(object):
def letterCombinations(self, digits):
"""
:type digits: str
:rtype: List[str]
DFS
"""
if digits=='':
return []
else:
phone_map = {
'2': 'abc',
'3': 'def',
'4': 'ghi',
'5': 'jkl',
'6': 'mno',
'7': 'pqrs',
'8': 'tuv',
'9': 'wxyz',
}
str_curr=[]
str_re=[]
def dfs(deepth=0):
if deepth==len(digits):
str_re.append(''.join(str_curr))
else:
for i in phone_map[digits[deepth]]:
str_curr.append(i)
dfs(deepth+1)
str_curr.pop()
dfs()
return str_re
a=Solution()
print a.letterCombinations('')
DFS多叉树,无剪枝的操作,要多写