LeetCode 17. 电话号码的字母组合
原题链接
中等
作者:
linux_2019
,
2019-09-14 06:18:07
,
所有人可见
,
阅读 1596
C++ 代码
class Solution {
public:
string dict[8]={"abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
vector<string> ans;
string path;
vector<string> letterCombinations(string digits) {
if(!digits.size()) return vector<string>();
dfs(digits,0);
return ans;
}
void dfs(string & s,int n)
{
if(n==s.size())
{
ans.push_back(path);
return ;
}
int ch=s[n]-'2';
for(int i=0;i<dict[ch].size();i++)
{
string tmp=path;
path+=dict[ch][i];
dfs(s,n+1);
path=tmp;
}
}
};
做的时候没看到有的键有四个字母,有的键有三个,结果我就很弱智地分析了后三个键