Leetcode Letter Combinations of a Phone Number

來源:互聯網
上載者:User

標籤:style   class   blog   code   http   color   

Given a digit string, return all possible letter combinations that the number could represent.

A mapping of digit to letters (just like on the telephone buttons) is given below.

Input:Digit string "23"Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

Note:
Although the above answer is in lexicographical order, your answer could be in any order you want.

本題利用隊列實現即可

如“23”,

首先擷取2

然後相對列中插入a,b,c

然後彈出a,在a後面附件下面一個數字,即ad,ae,af,插入隊列即可

vector<string> letterCombinations(string digits) {    vector<string> res;    if(digits.length() == 0) {res.push_back("");return res;}    string num_map[10]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};    queue<string> que;    int n = num_map[digits[0]-‘0‘].length();    if(n == 0) que.push("");    else{        for(int i = 0; i <n;  ++ i){            string tmp = string(1,num_map[digits[0]-‘0‘][i]);            que.push(tmp);        }    }    int index =1;    while(!que.empty() && index < digits.length()){        int cnt = que.size();        while(cnt-->0){            string a = que.front();que.pop();            int len = num_map[digits[index]-‘0‘].length();            if(len == 0) que.push(a);            else{                for(int i = 0; i < len; ++ i ){                    string tmp = a+num_map[digits[index]-‘0‘][i];                    que.push(tmp);                }            }        }        index++;            }    while(!que.empty()) {res.push_back(que.front());que.pop();}    return res;}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.