17 電話號碼的字母組合

2021-10-02 10:06:29 字數 660 閱讀 5039

這道題是我刷題所遇到的第一道遞迴題,由此可見以前有多麼水.....

由於golang才學乙個月左右,有些語法並不熟悉,所以這裡全域性變數最初不知道怎麼宣告,記下來 var( )   在括號裡面宣告整個包都能使用的變數,還要注意這裡不能使用 :=  而是使用 =  ,效果只有在這裡是一樣的,如果是在函式內則乙個表示宣告,乙個表示賦值了。

宣告乙個值為陣列的map是這樣宣告的,maps := make(map[string]string)  接下來就是正式和這道題有關的了

第一眼看到這個題,直接for開始搞啊,兩個還好弄,三個呢,假如len(digits)== 9 呢?那豈不是要9個for迴圈,這還得了,想了很久實在不知道咋弄,去看了題解提到了遞迴,這下沒辦法,躲不過了,只能去學習遞迴。

自我理解遞迴的要點就是邊界值是要做特殊處理,其他情況則都是一樣的處理,遞迴的下一步都要依賴當前這一步。比如這裡我要得到長度為len(digits)的所有字母組合,那麼我可以先去獲取當長度為len(digits)-1時的字母組合,然後再和這一步的字元組合在一起。**如下:

17 電話號碼的字母組合

給定乙個數字字串,返回數字所有可能表示的字母組合。下面給出數字到字母的對映 和 號碼一樣 輸入 數字字串 23 輸出 ad ae af bd be bf cd ce cf 思路1 採用迭代的方法。class solution if digits.empty return vector vectorr...

17 電話號碼的字母組合

1.遞迴 class solution object deflettercombinations self,digits type digits str rtype list str 建立字母對應的字元列表的字典 dic 儲存結果的陣列 ret str iflen digits 0 return 遞...

17 電話號碼的字母組合

給定乙個僅包含數字2 9的字串,返回所有它能表示的字母組合。給出數字到字母的對映如下 與 按鍵相同 注意 1 不對應任何字母。圖中顯示 2 abc 3 def 4 ghi 5 jkl 6 mno 7 pqrs 8 tuv 9 wxyz 輸入 23 輸出 ad ae af bd be bf cd ce...