zoukankan      html  css  js  c++  java
  • [LeetCode] Letter Combinations of a Phone Number(bfs)

    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.

    用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;
        }
    };
  • 相关阅读:
    利用Python爬取疫情数据并使用可视化工具展示
    接口与多态
    defer 延迟调用
    Spring缓存注解
    SpringAOP
    Mybatis动态SQL语句
    SpringMVC
    Spring Boot入门
    vue中使用JS实现倒计时功能
    springboot使用aop注解在controller层打印请求和响应报文
  • 原文地址:https://www.cnblogs.com/Xylophone/p/3931560.html
Copyright © 2011-2022 走看看