Recursive
class Solution {
public:
const vector<string> k{" ", " ", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
vector<string> ret;
vector<string> letterCombinations(string digits) {
if(digits.size()==0)
return ret;
dfs(digits,0,"");
return ret;
}
void dfs(string digits,int d, string s){
if(d==digits.size()){
ret.push_back(s);
return;
}
for(auto c:k[digits[d]-'0']){
dfs(digits,d+1,s+c);
}
}
};
Last updated
Was this helpful?