Skip to content

Latest commit

 

History

History
69 lines (58 loc) · 1.49 KB

17.-letter-combinations-of-a-phone-number.md

File metadata and controls

69 lines (58 loc) · 1.49 KB

17. Letter Combinations of a Phone Number

{% 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 %}