码迷,mamicode.com
首页 > 其他好文 > 详细

【LeetCode 17】电话号码的字母组合

时间:2019-11-07 09:52:05      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:bin   tps   class   ring   problems   ems   letter   phone   tco   

题目链接

【题解】


用回溯法搞一下。
一搞就有~
注意输入空串的时候别返回那个空串。。

【代码】

class Solution {
public:
    
    string dic[10];
    vector<string> ans;
    
    void dfs(string &digits,int idx,string cur){
        if (idx==(int)digits.size()){
            ans.push_back(cur);
            return;
        }
        int len = dic[(int)(digits[idx]-'0')].size();
        for (int i = 0;i < len;i++){
            dfs(digits,idx+1,cur+dic[(int)(digits[idx]-'0')][i]);
        }
    }
    
    vector<string> letterCombinations(string digits) {
        ans.clear();
        if (digits.size()==0) return ans;
        dic[2] = "abc";dic[3] = "def";dic[4] = "ghi";dic[5]="jkl";
        dic[6]="mno";dic[7] = "pqrs";dic[8] = "tuv";dic[9] = "wxyz";
        dfs(digits,0,"");
        return ans;
    }
};

【LeetCode 17】电话号码的字母组合

标签:bin   tps   class   ring   problems   ems   letter   phone   tco   

原文地址:https://www.cnblogs.com/AWCXV/p/11809847.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!