17.电话号码的字母组合(回溯)

目录

一、题目

二、代码


一、题目

17. 电话号码的字母组合 - 力扣(LeetCode)

17.电话号码的字母组合(回溯)_第1张图片

二、代码

17.电话号码的字母组合(回溯)_第2张图片

 

class Solution {
    const char*data[10]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
public:
    void Combination(string s,string str,int k,vector&ret)
                //s是digits,str存放每个组合,k计数,ret存放所有结果
    {
        if(k==s.size())//结束条件
        {
            ret.push_back(str);
            return;
        }

        int nums=s[k]-'0';
        string sonStr=data[nums];
        for(auto ch:sonStr)
        {
            Combination(s,str+ch,k+1,ret);
        }
    }
    vector letterCombinations(string digits) {
        string str;
        vectorret;
        if(digits.empty())
        {
            return ret;
        }
        Combination(digits,str,0,ret);
        return ret;
    }
};

你可能感兴趣的:(牛客/力扣,算法)