leetcode17(letter-combinations-of-a-phone-number)

class Solution {
public:
    vector<string> letterCombinations(string digits) {
        if(digits=="") return vector<string>();
        //用数组存储号码键对应的字符串,下标代表号码键的数字
        string res[10] = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
        vector<string> arr;
        digui("",digits,res,0,arr);
        return arr;
    }

    void digui(string key,string digits,string res[10],int index,vector<string>& arr){
        int k = digits[index]-'0';//获取输入字符串内部的字符,记得转一下类型
        if(key.size()==digits.size()){
            arr.push_back(key);
            return;
        }
        for(int i=0;i<res[k].size();++i){
            //递归+回溯
            key.push_back(res[k][i]);
            digui(key,digits,res,index+1,arr);
            key.pop_back();
        }
    }
};
全部评论

相关推荐

09-22 09:42
门头沟学院 Java
牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务