LeetCode力扣_第十七題_電話號碼的字母組合 回溯算法
學(xué)到學(xué)到了,妙啊妙啊

題目:
給定一個(gè)僅包給出數(shù)字到字母的映射如下(含數(shù)字 2-9 的字符串,返回所有它能表示的字母組合。答案可以按 任意順序 返回。與電話按鍵相同)。注意 1 不對應(yīng)任何字母。對應(yīng)的是9鍵輸入法中的按鈕字母;
例:
仔細(xì)閱讀題目可以知道,其實(shí)就是一個(gè)樹狀分支,2對應(yīng)的字符和3對應(yīng)的字符相乘得到最終的字母組合。
那么在代碼實(shí)現(xiàn)的頭一步就是構(gòu)建字典。然后再對手機(jī)號碼進(jìn)行遍歷,取出對應(yīng)的字符組合。這個(gè)時(shí)候遇到了盲點(diǎn),就是:
????????比如第一個(gè)數(shù)我取其對應(yīng)的第一個(gè)字符,第二個(gè)數(shù)也一樣,直到最后一個(gè)也是。然后組合成第一個(gè)轉(zhuǎn)換后的字符串;但是接下來怎么變,這里雖然思維想得到,但是代碼就是想不出來,就是最后一位字符變化,把所有情況都取完,比如 ‘a(chǎn)’+‘d’,a’+‘e’,a’+‘f‘。但是取完之后前一位再變化,比如’a‘變成’b‘,后面的要繼續(xù)變換’d‘->'e'->'f'。
????????雖然有想法,就是每一個(gè)位次都用一個(gè)變量來代替,再range(len(這個(gè)數(shù)值對應(yīng)的字串列表))中變化,但是仔細(xì)打量打量發(fā)現(xiàn)是較笨的方法,但是由于本人學(xué)淺—>苦苦找不到合適的思路。
????????后來在官方題解和網(wǎng)友解答的幫助之下豁然開朗:貼出代碼以日后繼續(xù)復(fù)習(xí):
!??!
繼續(xù)加油555

https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/solution/dian-hua-hao-ma-de-zi-mu-zu-he-by-leetcode-solutio/
https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/solution/hui-su-dui-lie-tu-jie-by-ml-zimingmeng/