时间复杂度(O( k*n))
class Solution {
public:
vector<string> letterCombinations(string digits) {
vector<string> result ;
if(digits=="")return result;
letter(digits,0,result,"");
return result;
}
void letter(string digits,int digits_i,vector<string> &result,string result_str){
string phone_strs[] = {"abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
if(digits_i>=digits.length()){
result.push_back(result_str);
return ;
}
string currPhone = phone_strs[digits.at(digits_i)-'2'];
for(int i=0;i<currPhone.length();++i){
letter(digits,digits_i+1,result,result_str+currPhone.at(i));
}
}
};