class Solution {
public:
vector<string> M= {"","*","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
vector<string> letterCombinations(string digits) {
vector<string> ret;
for(int i=0;i<digits.size();i++){
if(ret.size()==0){
ret.push_back("");
}
string m = M[digits[i]-'0'];
int n = ret.size();
for(int k=0;k<n;k++){
for(int j=0;j<m.size();j++){
ret.push_back(ret[k] + m[j]);
}
}
for(int k=0;k<n;k++){
ret.erase(ret.begin());
}
}
return ret;
}
};
https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/submissions/