程式語言 - LeetCode - C++ - 17. Letter Combinations of a Phone Number



參考資訊:
https://www.cnblogs.com/grandyang/p/4452220.html

題目:


解答:

class Solution {
public:
    vector<string> letterCombinations(string digits) {
        vector<string> r;

        dfs(digits, 0, "", r);
        return r;
    }

    int dfs(string digits, int pos, string t, vector<string>& r) {
        if (pos == digits.size()) {
            r.push_back(t);
            return 0;
        }

        string dicts[] = { "", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz", "", "", "" };
        string str = dicts[digits[pos] - '0'];
        for (auto& ch : str) {
            dfs(digits, pos + 1, t + ch, r);
        }

        return 0;
    }
};