{% tabs %} {% tab title="py again" %}
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
dit = {
"2":"abc",
"3":"def",
"4":"ghi",
"5":"jkl",
"6":"mno",
"7":"pqrs",
"8":"tuv",
"9":"wxyz",
}
res = []
if not digits:
return res
self.dfs(0, "", digits, dit, res)
return res
def dfs(self, idx, path , digits, dit, res):
if idx == len(digits):
res.append(path)
return
# print(digits[idx],idx,digits)
for c in (dit[digits[idx]]):
self.dfs(idx + 1, path + c, digits, dit, res)
{% endtab %}
{% tab title="Python" %}
class Solution:
def letterCombinations(self, digits: str) -> List[str]:
dit = {
"2":"abc",
"3":"def",
"4":"ghi",
"5":"jkl",
"6":"mno",
"7":"pqrs",
"8":"tuv",
"9":"wxyz",
}
ans = []
if not digits:
return ans
def dfs(idx,seq):
if idx == len(digits):
ans.append(seq)
return
for i in (dit[digits[idx]]):
dfs(idx+1,seq+i)
dfs(0,"")
return ans
{% endtab %} {% endtabs %}