leetcode+ 乘法模拟,DFS

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

class Solution {
public:
    char Mp[10][5] = {"","","abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
    int top = 0, length = 0;
    void getLetter(vector<string>& res, int index, string digits, char* tmp)
    {
        if(index>=length){
            tmp[index] = 0;
            string letters = string(tmp);
            res.push_back(letters);
            return;
        }
        int digit = digits[index] - '0';
        for(int i=0; Mp[digit][i]; i++){
            tmp[index] = Mp[digit][i];
            getLetter(res, index+1, digits, tmp);
        }
    }
    vector<string> letterCombinations(string digits) {
        vector<string> res;
        length = digits.size();
        if(length==0) return res;
        char tmp[length+1];
        getLetter(res, 0, digits, tmp);
        return res;
    }
};

猜你喜欢

转载自blog.csdn.net/u013554860/article/details/81068208