电话号码的字母组合

Source

 题目链接:17. 电话号码的字母组合 - 力扣(LeetCode)

思路:每一个数字对应的每一个字母一 一组合。

具体细节看以下递归图:

 

参考代码:

class Solution {
public:
    string str[10]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};

    vector<string>& _letterCombinations(vector<string>& strV,const string& digits,int i,
    string combinStr)
    {
        if(i==digits.size())
        {
            strV.push_back(combinStr);
            return strV;
        }
        string a=str[digits[i]-'0'];
        int j=0;
        for(j=0;j<a.size();j++)
        {
            _letterCombinations(strV,digits,i+1,combinStr+a[j]);
        }
        return strV;
    }

    vector<string> letterCombinations(string digits) {
        vector<string> strV;
        string combinStr;
        if(digits.empty())
        {
            return strV;
        }
        return _letterCombinations(strV,digits,0,combinStr);
    }
};

你学会了吗?点个小心心和关注支持一下呗!后期会持续更新leetcode经典的题目哦!!!