zoukankan      html  css  js  c++  java
  • [leetcode]Letter Combinations of a Phone Number @ Python

    原题地址:https://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/

    题意:

    Given a digit string, return all possible letter combinations that the number could represent.

    A mapping of digit to letters (just like on the telephone buttons) is given below.

    Input:Digit string "23"
    Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
    

    Note:
    Although the above answer is in lexicographical order, your answer could be in any order you want.

    解题思路:穷举所有可能的字符串使用dfs来解决。

    代码:

    class Solution:
        # @return a list of strings, [s1, s2]
        def letterCombinations(self, digits):
            def dfs(num, string, res):
                if num == length:
                    res.append(string)
                    return
                for letter in dict[digits[num]]:
                        dfs(num+1, string+letter, res)
            
            dict = {'2':['a','b','c'],
                    '3':['d','e','f'],
                    '4':['g','h','i'],
                    '5':['j','k','l'],
                    '6':['m','n','o'],
                    '7':['p','q','r','s'],
                    '8':['t','u','v'],
                    '9':['w','x','y','z']
                    }
            res = []
            length = len(digits)
            dfs(0, '', res)
            return res
  • 相关阅读:
    Linux 环境变量 设置 etc profile
    Linux 升级glibc-2.14 失败 我遇到的问题
    qt窗口的切换
    qt事件机制---事件范例
    qt中的事件机制
    qt的信号与槽函数
    linux下qt的安装
    qt中的udp编程
    qt中的tcp编程
    qt中的多线程
  • 原文地址:https://www.cnblogs.com/zuoyuan/p/3779761.html
Copyright © 2011-2022 走看看