博客域名:
http://www.xnerv.wang
原题页面: https://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/
题目类型:
难度评价:★
本文地址: http://blog.youkuaiyun.com/nerv3x3/article/details/37335129
原题页面: https://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/
题目类型:
难度评价:★
本文地址: http://blog.youkuaiyun.com/nerv3x3/article/details/37335129
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.
class Solution:
# @return a list of strings, [s1, s2]
def letterCombinations(self, digits):
map = {
"0": (),
"1": (),
"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")
}
result1 = [ "" ]
result2 = [ ]
for ch in digits:
list = map[ch]
if 0 == len(list):
continue
for str in result1:
for suffix in list:
result2.append(str + suffix)
result1 = result2
result2 = [ ]
return result1