5.Letter Combinations of a Phone Number

https://leetcode.com/problems/letter-combinations-of-a-phone-number/

class Solution {
public:
    vector<string> letterCombinations(string digits) {
        map<char, string> keyboard;
        keyboard['2'] = "abc";
        keyboard['3'] = "def";
        keyboard['4'] = "ghi";
        keyboard['5'] = "jkl";
        keyboard['6'] = "mno";
        keyboard['7'] = "pqrs";
        keyboard['8'] = "tuv";
        keyboard['9'] = "wxyz";
        keyboard['*'] = "+";
        keyboard['0'] = " ";
        
        vector<string> rst;
        string sol = "";
        
        if (digits.length() == 0) {
            return rst;
        }
        
        letterCombinations(digits, 0, sol, rst, keyboard);
        
        return rst;
    }
    
    void letterCombinations(const string &digits, int pos, string &sol, vector<string> &rst, map<char, string> &keyboard) {
        if (sol.length() == digits.length()) {
            rst.push_back(sol);
            return;
        }
        
        string candi = keyboard[digits[pos]];
        
        for (int i = 0; i < candi.length(); i++) {
            sol.push_back(candi[i]);
            letterCombinations(digits, pos+1, sol, rst, keyboard);
            sol.pop_back();
        }
    }
};
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,491評論 2 45
  • 你好,我是showhand,“不含敵意的堅決”是由美國心理學家胡特提出來的一種拒絕別人或者與人相處的心法,不含敵意...
    showhand閱讀 1,423評論 0 0
  • 單曲循環安河橋北,聽著聽著有些想哭,里面的歌詞幾次差點讓我落淚。青春始終不會完美,多多少少都有遺憾。在昨天前天...
    d0c71ea8dacc閱讀 310評論 0 0
  • (淸明祭祖)又到清明祭祖時,煙花四月香裊繞。一年話盡今天訴,香煙紙錢大殿燒。在世無車無婢女,今天有室有車房。琉璃瓦...
    甘朝武閱讀 379評論 0 0
  • 一個人應養成相信自己的習慣,即使在最危急的時候,也要相信自己的勇敢、毅力與判斷。 有一位教士在集市買了...
    自由飛翔ok5閱讀 568評論 0 0