力扣 17 電話號碼的字母組合

2021-10-19 06:58:08 字數 918 閱讀 5840

【c++刷題學習筆記目錄】

【c++百萬併發網路通訊-筆記目錄】

回溯三步法、字串到字母的對映

同樣是使用【演算法套路】-【回溯篇】【回溯三步法】中提到的回溯三步法

但是剛開始使用了unordered_map來進行數字->字母的對映,所以略顯麻煩,看到【**隨想錄】大佬的題解回溯演算法:**號碼的字母組合,原來可以使用string陣列來代替unordered_map

1、首先就是數字與字母的對映關係

const string lettermap[10]

=;

2、其次就是回溯三步法

class

solution

; vector result;

string path;

void backtracking (

const string& digits,

int index)

int digit = digits[index]

-'0'

;//將當前字元形式的數字轉為整型

string letters = lettermap[digit]

;//取當前數字對應的字母字串

for(

char letter : letters)

}public

: vector lettercombinations (string digits)

};

注意路徑記錄語句result.push_back(path);這一句其實發生在最後一次路徑改變語句path.push_back(letter);之後

力扣17 電話號碼的字母組合

原題 解法1 2都是大佬寫的,題解鏈結 1 回溯 1 class solution 2def lettercombinations self,digits str list str 3if not digits return 45 phone 1314 defbacktrack conbinatio...

力扣17題 電話號碼的字母組合

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

17 電話號碼的字母組合

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