【回溯】電話(huà)號(hào)碼的字母組合

17. 電話(huà)號(hào)碼的字母組合

給定一個(gè)僅包含數(shù)字2-9的字符串翎苫,返回所有它能表示的字母組合。答案可以按任意順序返回熙侍。

給出數(shù)字到字母的映射如下(與電話(huà)按鍵相同)欠橘。注意 1 不對(duì)應(yīng)任何字母帐姻。


示例 1:

輸入:digits = "23"輸出:["ad","ae","af","bd","be","bf","cd","ce","cf"]

示例 2:

輸入:digits = ""輸出:[]

示例 3:

輸入:digits = "2"輸出:["a","b","c"]


提示:

0 <= digits.length <= 4

digits[i]是范圍['2', '9']的一個(gè)數(shù)字续滋。


解題思路:

(1)一共有幾個(gè)數(shù)字,每一組字符串的長(zhǎng)度就有多長(zhǎng)

(2)一個(gè)數(shù)字一個(gè)數(shù)字的疊加鞭达,可以畫(huà)出樹(shù)狀圖,樹(shù)狀圖一般可以用回溯來(lái)返回所有組合皇忿。

(3)回溯:先遞歸到一個(gè)組合的最底部畴蹭,逐層返回值。

本題采用傳遞一個(gè)容器引用鳍烁,在遞歸函數(shù)傳遞每次組合的結(jié)果(感覺(jué)有點(diǎn)想遞推下去的叨襟,有點(diǎn)不標(biāo)準(zhǔn))。在遞歸的最底時(shí)幔荒,直接將結(jié)果push_back()到容器里糊闽。


函數(shù)設(shè)計(jì):

void func(string current,string input,int num,vector<string> res):

??? {這里設(shè)置好數(shù)字與字母的鍵值對(duì)}

??? 如果num==input.length():??? res.push_back(current);

??? 否則:

??????? for (auto i : 鍵值對(duì)[input[num]-'0']):

????????????? string temp=current+i;

????????????? func(temp,input,num+1,res);


????void?func(string?d,string?current,int?num,vector<string>?&res){

????????vector<vector<char>>?data=

????????{

????????????{},

????????????{},

????????????{'a','b','c'},

????????????{'d','e','f'},

????????????{'g','h','i'},

????????????{'j','k','l'},

????????????{'m','n','o'},

????????????{'p','q','r','s'},

????????????{'t','u','v'},

????????????{'w','x','y','z'},

????????};

????????if?(d.length()==0)?{}

????????else?if?(num==d.length()){

????????????res.push_back(current);

????????}

????????else{

????????????for?(auto?i?:?data[d[num]-'0']){

????????????????string?temp="";

????????????????temp=temp+i;

????????????????temp=current+temp;

????????????????func(d,temp,num+1,res);

????????????}

????????}

????}

????vector<string>?letterCombinations(string?digits)?{

????????vector<string>?res;

????????func(digits,"",0,res);

????????return?res;

????}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末梳玫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子墓怀,更是在濱河造成了極大的恐慌汽纠,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件傀履,死亡現(xiàn)場(chǎng)離奇詭異虱朵,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)钓账,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)碴犬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人梆暮,你說(shuō)我怎么就攤上這事服协。” “怎么了啦粹?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵偿荷,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我唠椭,道長(zhǎng)跳纳,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任贪嫂,我火速辦了婚禮寺庄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘力崇。我一直安慰自己斗塘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布亮靴。 她就那樣靜靜地躺著馍盟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茧吊。 梳的紋絲不亂的頭發(fā)上贞岭,一...
    開(kāi)封第一講書(shū)人閱讀 52,328評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音饱狂,去河邊找鬼曹步。 笑死宪彩,一個(gè)胖子當(dāng)著我的面吹牛休讳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尿孔,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼俊柔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼筹麸!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起雏婶,我...
    開(kāi)封第一講書(shū)人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤物赶,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后留晚,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體酵紫,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年错维,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奖地。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赋焕,死狀恐怖参歹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情隆判,我是刑警寧澤犬庇,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站侨嘀,受9級(jí)特大地震影響臭挽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜飒炎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一埋哟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧郎汪,春花似錦赤赊、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至照筑,卻和暖如春吹截,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背凝危。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工波俄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蛾默。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓懦铺,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親支鸡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子冬念,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容