https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/
class Solution {
public:
char Mp[10][5] = {"","","abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
int top = 0, length = 0;
void getLetter(vector<string>& res, int index, string digits, char* tmp)
{
if(index>=length){
tmp[index] = 0;
string letters = string(tmp);
res.push_back(letters);
return;
}
int digit = digits[index] - '0';
for(int i=0; Mp[digit][i]; i++){
tmp[index] = Mp[digit][i];
getLetter(res, index+1, digits, tmp);
}
}
vector<string> letterCombinations(string digits) {
vector<string> res;
length = digits.size();
if(length==0) return res;
char tmp[length+1];
getLetter(res, 0, digits, tmp);
return res;
}
};