码迷,mamicode.com
首页 > 其他好文 > 详细

[LeetCode] Letter Combinations of a Phone Number(bfs)

时间:2014-08-23 18:53:01      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   strong   for   ar   

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.

bubuko.com,布布扣

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.

用queue实现bfs:

class Solution {
public:
    map<char,string> m;
    vector<string> letterCombinations(string digits) {
        vector<string> result;       
        m[2]="abc";
        m[3]="def";
        m[4]="ghi";
        m[5]="jkl";
        m[6]="mno";
        m[7]="pqrs";
        m[8]="tuv";
        m[9]="wxyz";
        queue<string> q;
        string s;
        q.push(s);
        result = bfs(q,digits);
        return result;
    }
    vector<string>  bfs(queue<string> q,string &digits){
        vector<string> result;
        
        int len = digits.size();
        if(len==0){
            string s;
            result.push_back(s);
            return result; 
        }
            

        while(!q.empty()){
            string s = q.front();
            int n = s.size();
            q.pop();
            if(n==len){
                result.push_back(s);
                continue;
            }

            string s0(s);
            char c = digits[n];
            int alphaNum = m[c].size();
            for(int i =0;i<alphaNum;i++){
                s.push_back(m[c][i]);
                q.push(s);
                s = s0;
            }    
        }
    
    return result;
    }
};

 

[LeetCode] Letter Combinations of a Phone Number(bfs)

标签:style   blog   http   color   os   io   strong   for   ar   

原文地址:http://www.cnblogs.com/Xylophone/p/3931560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!