LeetCode ——电话号码的字母组合

Posted 何许

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode ——电话号码的字母组合相关的知识,希望对你有一定的参考价值。

题目如下:

采用递归的方式,判断是否到达字符串尾部,到达尾部则添加结果到result。

代码如下:

map<char, string> cs{ { \'2\', "abc" }, { \'3\', "def" }, { \'4\', "ghi" }, { \'5\', "jkl" }, { \'6\', "mno" },
{ \'7\', "pqrs" }, { \'8\', "tuv" }, { \'9\', "wxyz" } };
vector<string> result;
void combine(const string &s,string tmp, int index)
{
    string current = cs[s[index]];
    if (index == s.size() - 1)
    {
        for (int i = 0; i < current.size(); i++)
            result.push_back(tmp + current[i]);
        return;
    }
    for (int i = 0; i < current.size(); i++)
        combine(s, tmp+current[i], index + 1);

}
vector<string> letterCombinations(string digits) {
    result.clear();
    int length = digits.size();
    if (length < 1)
        return vector<string>();
    combine(digits, "", 0);
    return result;
}

 

以上是关于LeetCode ——电话号码的字母组合的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 17电话号码的字母组合

[回溯算法]leetcode17. 电话号码的字母组合(c实现)

leetcode-电话号码的字母组合

leetcode-电话号码的字母组合

LeetCode #17 电话号码的字母组合

leetcode17 电话号码的字母组合(Medium)