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?