LeetCode 17 电话号码的数字组合

LeetCode 17 电话号码的数字组合

https://leetcode.cn/problems/letter-combinations-of-a-phone-number/description/

class Solution {
public:
    unordered_map<char, string> mmap{
        {'2', "abc"},
        {'3', "def"},
        {'4', "ghi"},
        {'5', "jkl"},
        {'6', "mno"},
        {'7', "pqrs"},
        {'8', "tuv"},
        {'9', "wxyz"}
    };
    vector<string> res;

public:
    vector<string> letterCombinations(string digits)
    {
        int len = digits.size();
        if (len == 0)
            return res;

        findCom(digits, 0, "", len);
        return res;
    }

    void findCom(const string& digits, int index, string s, int len)
    {
        if (index == len)
        {
            res.emplace_back(s);
            return;
        }

        string str = mmap[digits[index]];
        for (int i = 0; i < str.size(); i++)
        {
            findCom(digits, index + 1, s + str[i], len);
        }
    }
};

none
最后修改于:2024年02月04日 13:26

评论已关闭