zoukankan      html  css  js  c++  java
  • 69. Letter Combinations of a Phone Number

    Letter Combinations of a Phone Number

     

    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.
    思路: hash && dfs.
    void dfs(vector<string>& out, string ans, int curDepth, string& digits, string map[10] ){
        if(curDepth == digits.length()){
            out.push_back(ans);
            return;
        }
        for(int i = 0; i < map[digits[curDepth]-'0'].length(); ++i){
            ans.push_back(map[digits[curDepth]-'0'][i]);
            dfs(out, ans, curDepth+1, digits, map);
            ans.pop_back();
        }
    }
    
    class Solution {
    public:
        vector<string> letterCombinations(string digits) {
            vector<string> out;
            string ans;
            string map[10] = {"", "", "abc","def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
            dfs(out, ans, 0, digits, map);
            return out;
        }
    };
    
  • 相关阅读:
    WEB前端:05_scroll滚动(图片/文字滚动)
    WEB前端:04_slider幻灯片(焦点图轮换)
    WEB前端:03_hover切换(显示/隐藏)
    概率统计
    概率统计
    线性代数
    线性代数
    线性代数
    线性代数
    大数据时代,Java通过JFreeChart分析和可视化数据
  • 原文地址:https://www.cnblogs.com/liyangguang1988/p/3961295.html
Copyright © 2011-2022 走看看