leetcode-17-电话号码的字母组合

leetcode-17-电话号码的字母组合

//回溯法

class Solution {

    vector<string> letter_map = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"}; //0-9

    vector<string> res = {};

    void letterCombine(string digits, int index, string curDigits){

        if (digits.length() == 0) return;

        if (index >= digits.length()) {

            res.push_back(curDigits);

            return;

        }

        string letters = letter_map[digits[index] - '0'];

        for (auto c:letters){

            letterCombine(digits, index+1, curDigits+c);

        }

        return;

    }

public:

    vector<string> letterCombinations(string digits) {

        letterCombine(digits, 0, "");

        return res;

    }

};