LeetCodeDay50 —— 電話號碼的字母組合★★

17. 電話號碼的字母組合

描述
  • 給定一個僅包含數(shù)字 2-9 的字符串,返回所有它能表示的字母組合。
  • 給出數(shù)字到字母的映射如下(與電話按鍵相同)。注意 1 不對應(yīng)任何字母。
  • 1-NULL, 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", "cf"].
說明
  • 盡管上面的答案是按字典序排列的,但是你可以任意選擇答案輸出的順序。
思路
  1. 回溯算法,利用循環(huán)加遞歸實現(xiàn),每次循環(huán)取該數(shù)字對應(yīng)的一個字母,然后遞歸下一個數(shù)字,當遞歸到最后一個數(shù)字時,將結(jié)果保存,然后回溯。
  2. 小技巧:
    1)char -> int 可以通過 “ - ‘0’ ” 操作實現(xiàn)
    2)將一個 char 加到 string 上可利用 string.push_back() 或者 += 實現(xiàn)
class Solution_17 {
 public:
  vector<string> letterCombinations(string digits) {
    if (digits.empty()) return {};
    vector<string> ret;
    string str;
    _letterCombinations(digits, 0, str, ret);
    return ret;
  }
  void _letterCombinations(string& digits, int index, string& str,
                           vector<string>& ret) {
    if (index == digits.size()) {
      ret.push_back(str);
      return;
    }
    for (int i = 0; i < numAlpTable[digits[index] - '0'].size(); ++i) {
      str.push_back(numAlpTable[digits[index] - '0'][i]);
      _letterCombinations(digits, index + 1, str, ret);
      str.pop_back();
    }
  }

 private:
  vector<string> numAlpTable = {"",   "",    "abc",  "def", "ghi",
                                "jkl", "mno", "pqrs", "tuv", "wxyz"};
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,551評論 19 139
  • 前言 最先接觸編程的知識是在大學(xué)里面,大學(xué)里面學(xué)了一些基礎(chǔ)的知識,c語言,java語言,單片機的匯編語言等;大學(xué)畢...
    oceanfive閱讀 3,395評論 0 7
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,673評論 18 399
  • 幼兒園的時候,有一次智力測試,我被評為弱智。 還是幼兒園的時候,有一次拍球比賽,我拍的個數(shù)最少。 我的高考失敗了,...
    一匹來自南方的狼閱讀 635評論 2 1
  • 2016-08-30 安然 千里姻緣一線牽SG 全球經(jīng)濟不好,新加坡身份越來越難拿。你是要找一個有身份的留下...
    racelie或sea閱讀 765評論 0 0

友情鏈接更多精彩內(nèi)容