Skip to content

Commit

Permalink
Create letter-combination-of-a-phone-number.cpp
Browse files Browse the repository at this point in the history
  • Loading branch information
maiquynhtruong committed Feb 5, 2018
1 parent 342e18e commit 65fadc0
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions letter-combination-of-a-phone-number.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
class Solution {
public:
void combineLetters(vector<string> &vec, map<char, string> &m, string s, char str[], int curLen) {
if (curLen == s.size()) {
vec.push_back(str);
}
for (int i = 0; i < m[s[curLen]].size(); i++) {
str[curLen] = m[s[curLen]][i];
combineLetters(vec, m, s, str, curLen+1);
str[curLen] = '\0';
}
}
vector<string> letterCombinations(string digits) {
map<char, string> mapping;
mapping['0'] = "";
mapping['1'] = "";
mapping['2'] = "abc";
mapping['3'] = "def";
mapping['4'] = "ghi";
mapping['5'] = "jkl";
mapping['6'] = "mno";
mapping['7'] = "pqrs";
mapping['8'] = "tuv";
mapping['9'] = "wxyz";
char str[digits.size()+1];
str[digits.size()] = '\0';
vector<string> vec;
combineLetters(vec, mapping, digits, str, 0);
return vec;
}


};

0 comments on commit 65fadc0

Please sign in to comment.