class Solution {
public:
vector<string> letterCombinations(string digits) {
vector<string> ans;
if(digits==""){
return ans;
}
string combination="";
dfs(ans,combination,digits);
return ans;
}
void dfs(vector<string> &ans,string combination,string digits){
if(digits==""){
ans.push_back(combination);
return;
}
string button=buttons[digits[0]-'0'];
digits.erase(digits.begin());
for(auto c:button){
dfs(ans,combination+c,digits);
}
}
private:
const string buttons[10]={" ","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
};
17 Letter Combinations of a Phone Number
电话键盘组合字母
最新推荐文章于 2020-06-18 21:15:29 发布
本文介绍了一个C++实现的算法,该算法接收一个数字字符串作为输入,并返回所有可能的字母组合,这些组合由输入中每个数字对应的电话键盘按钮上的字母构成。通过深度优先搜索递归地构建组合。
554

被折叠的 条评论
为什么被折叠?



