要求:
給定乙個僅包含數字 2-9 的字串,返回所有它能表示的字母組合。
給出數字到字母的對映如下(與**按鍵相同)。注意 1 不對應任何字母。
示例:輸入:」23」
輸出:[「ad」, 「ae」, 「af」, 「bd」, 「be」, 「bf」, 「cd」, 「ce」, 「cf」].
class solution(object):
def lettercombinations(self, digits):
phone =
res =
length = len(digits)
self.dfs("", 0, length, phone, digits, res)
return res
def dfs(self, combination, index, length, phone, digits, res):
if length == index:
return
for letter in phone[digits[index]]:
self.dfs(combination+letter, index+1, length, phone, digits, res)
s = solution()
m = s.lettercombinations('89')
print(m)
全排列
def permutation(ss):
if len(ss)<=1 :
return ss
res =
dfs("", 0, len(ss), res, ss)
return res
def dfs(combination, index, length, res, ss):
if length == index:
return
for i in range(len(ss)):
if ss[i] not in ss[:i]: #這一句可以實現去重,即'aaaa'這種只會列印乙個
dfs(combination+ss[i], index+1, length, res, ss[:i]+ss[i+1:])
ss1 = 'mpq'
res = permutation(ss1)
print(res)
電話號碼的字母組合
給乙個數字字串,每個數字代表乙個字母,請返回其所有可能的字母組合。下圖的手機按鍵圖,就表示了每個數字可以代表的字母。樣例給定 23 返回 ad ae af bd be bf cd ce cf 注意以上的答案是按照詞典編撰順序進行輸出的,不過,在做本題時,你也可以任意選擇你喜歡的輸出順序。class ...
電話號碼的字母組合
給定乙個僅包含數字2 9的字串,返回所有它能表示的字母組合。給出數字到字母的對映關係如下 示例 輸入 23 輸出 ad ae af bd be bf cd ce cf 注 輸出字串順序任意 我的 public class lettercombinationsofaphonenumber public...
電話號碼的字母組合
這是一道我刷題時遇到的乙個題目,很簡單,輸入數字,輸出這些數字構成的字元排列組合 由可以看出。given a string containing digits from 2 9 inclusive,return all possible letter combinations that the nu...