class Solution {
public:
char map[8][4]={
{'a','b','c','#'},
{'d','e','f','#'},
{'g','h','i','#'},
{'j','k','l','#'},
{'m','n','o','#'},
{'p','q','r','s'},
{'t','u','v','#'},
{'w','x','y','z'}};//2-8
vector<string> letterCombinations(string digits) {
// Note: The Solution object is instantiated only once and is reused by each test case.
vector<string> ans;
gen(ans,"",digits,0);
return ans;
}
void gen(vector<string> &ans,string tmp,string digits,int loc)
{
if(loc==digits.size())
{
ans.push_back(tmp);
return;
}
int idx=digits[loc]-'0'-2;//在map中的行数,2对应第0行
for(int i=0;i<=3;i++)
{
if(map[idx][i]!='#')
gen(ans,tmp+map[idx][i],digits,loc+1);
}
}
};
【leetcode】Letter Combinations of a Phone Number
最新推荐文章于 2020-08-10 10:20:18 发布