leetcode17 电话号码的字母组合 dfs

Posted Erio

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode17 电话号码的字母组合 dfs相关的知识,希望对你有一定的参考价值。

就dfs吧....

然后,我傻了。前一道题不用考虑空,这道题就要考虑。。。。

还有注意vector要引用传递

 

class Solution {
  
public: 
    void dfs(string temp,vector<string>&ret,string digits,int index,string* str,int len)
    {
        if(index==len)
        {
            ret.push_back(temp);
            return;
        }
        else
        {
            int n=str[(digits[index]-\'2\')].length();
            for(int i=0;i<n;i++)
            dfs((temp+str[(digits[index]-\'2\')][i]),ret,digits,index+1,str,len);
        }
    }

public:
    vector<string> letterCombinations(string digits) {
        vector<string>ret;
        if(digits=="")
            return ret;
        string str[10] = {"abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
        int len=digits.length();
        string temp="";
        this->dfs(temp,ret,digits,0,str,len);
        return ret;
    }
};

 另外有点震惊:这是机器性能太强还是测试用例太少奥

 

 

 

 

 

以上是关于leetcode17 电话号码的字母组合 dfs的主要内容,如果未能解决你的问题,请参考以下文章

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

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

LeetCode 17. Letter Combinations of a Phone Number (电话号码的字母组合)

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

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

leetcode17 电话号码的字母组合(Medium)