演算法百題之四十九 電話號碼的字母組合

2021-10-11 18:51:25 字數 1058 閱讀 4797

很高興又能和大家見面了,接下來準備系列更新的是演算法題,一日一練,早日公升仙!

今天的問題是:**號碼的字母組合

示例:

輸入:"23"

輸出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

思路:這題我感覺挺簡單的...主要是考察c++字串函式的呼叫,演算法方面倒是兩個迴圈就搞定了。也不知道為啥這道題能有中等難度。首先因為是從數字2開始,那麼num2string前兩個元素定位空表占個位置即可。然後唯一的難度是如何把讀取字串中的字元?也就是string轉為int,我們可以用for (char &ch : digits) 方式來拿到char型別,然後再ch - 『0』就可以得到int型別了。

vectorlettercombinations(string digits) ,{},

, ,

, ,

, ,

, };

vectorres = {};

if (digits.length() == 0) return res;

for (char &ch : digits)

vectorcurres = {};

for (int i = 0; i < res.size(); i++)

} res = curres;

} return res;

}

測試及結果:

演算法題 電話號碼的字母組合

給定乙個僅包含數字 2 9 的字串,返回所有它能表示的字母組合。給出數字到字母的對映如下 與 按鍵相同 注意 1 不對應任何字母。示例 輸入 23 輸出 ad ae af bd be bf cd ce cf 說明 儘管上面的答案是按字典序排列的,但是你可以任意選擇答案輸出的順序。param digi...

演算法題之電話號碼的字母組合問題

題目描述 思路分析 實現 public list lettercombinations string digits 定義sub 儲存每一種字母組合 stringbuilder sub newstringbuilder 定義map 儲存所有的數字和數字對應的所有字母 mapmap newhashmap...

LeetCode刷題之17 電話號碼的字母組合

我不知道將去向何方,但我已在路上!輸入 23 輸出 ad ae af bd be bf cd ce cf class solution def lettercombinations self,digits str list str def fun list a,char b zidian resul...