給定乙個僅包含數字 2-9 的字串,返回所有它能表示的字母組合。
給出數字到字母的對映如下(與**按鍵相同)。注意 1 不對應任何字母。
示例:輸入:「23」
輸出:[「ad」, 「ae」, 「af」, 「bd」, 「be」, 「bf」, 「cd」, 「ce」, 「cf」].
方法概述:
利用資料結構中佇列的「先進先出」的知識,採用實時更新佇列的內容實現遍歷。
步驟說明:
1.建立乙個map雜湊表;
2.新建乙個佇列;
3.將第乙個字串所對應的碼表逐步進入到佇列中;
4.出隊操作,儲存當前出隊的string;
5.將此string與後乙個字串所對應的碼表中每乙個值相加並逐步進入到佇列中;
6.最終佇列中儲存的即為所有情況的string
class
solution,,
,,,,
,};//對映map雜湊表
int size = digits.
size()
;//輸入字串長度
queue que;
//新建佇列
//先將第乙個元素對應的碼表入隊
for(
int j =
0; j < m[digits[0]
].size()
; j++
) string s;
//用於儲存隊頭元素
for(
int i =
1; i < size; i++
) que.
pop();
//隊頭出隊}}
while
(!que.
empty()
)return 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...