题目来源:
leetcode题目,网址:17. 电话号码的字母组合 - 力扣(LeetCode)
解题思路:
暴力遍历所有可能即可。
解题代码:
- class Solution {
- public:
- vector<string> letterCombinations(string digits) {
- vector<string> letters=getLetters();
- vector<string> res;
- if(digits.size()==0){
- return res;
- }
- return getCombination(digits,letters,"",res);
- }
- vector<string> getCombination(string digits,vector<string>& letters,string now,vector<string>& res){
- if(digits.length()==0){
- res.push_back(now);
- return res;
- }
- for(int i=0;i<letters[digits[0]-'2'].length();i++){
- string newNow=now+letters[digits[0]-'2'][i];
- getCombination(digits.substr(1),letters,newNow,res);
- }
- return res;
- }
- vector<string> getLetters(){
- vector<string> res;
- res.push_back("abc");
- res.push_back("def");
- res.push_back("ghi");
- res.push_back("jkl");
- res.push_back("mno");
- res.push_back("pqrs");
- res.push_back("tuv");
- res.push_back("wxyz");
- return res;
- }
- };
总结:
官方题解也是递归。