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

LeetCode 017 Letter Combinations of a Phone Number

时间:2015-02-07 17:07:13      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

题目描述: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"].

分析:

递归

 

代码如下:

class Solution {
private:
    map<char, vector<char> > dict;
    vector<string> ret;
public:
    void createDict()
    {
        dict.clear();
        dict[2].push_back(a);
        dict[2].push_back(b);
        dict[2].push_back(c);
        dict[3].push_back(d);
        dict[3].push_back(e);
        dict[3].push_back(f);
        dict[4].push_back(g);
        dict[4].push_back(h);
        dict[4].push_back(i);
        dict[5].push_back(j);
        dict[5].push_back(k);
        dict[5].push_back(l);
        dict[6].push_back(m);
        dict[6].push_back(n);
        dict[6].push_back(o);
        dict[7].push_back(p);
        dict[7].push_back(q);
        dict[7].push_back(r);
        dict[7].push_back(s);
        dict[8].push_back(t);
        dict[8].push_back(u);
        dict[8].push_back(v);
        dict[9].push_back(w);
        dict[9].push_back(x);
        dict[9].push_back(y);
        dict[9].push_back(z);
    }
    
    void dfs(int dep, int maxDep, string &s, string ans){
        if (dep == maxDep){
            ret.push_back(ans);
            return;
        }
        
        for(int i = 0; i < dict[s[dep]].size(); i++)
            dfs(dep + 1, maxDep, s, ans + dict[s[dep]][i]);
    }
    
    vector<string> letterCombinations(string digits) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        ret.clear();
        createDict();
        dfs(0, digits.size(), digits, "");
        return ret;
    }
};

 

LeetCode 017 Letter Combinations of a Phone Number

标签:

原文地址:http://www.cnblogs.com/510602159-Yano/p/4278884.html

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