class Solution {
public:
vector<string> letterCombinations(string digits) {
map<char,string> mp;
mp['2']="abc";
mp['3']="def";
mp['4']="ghi";
mp['5']="jkl";
mp['6']="mno";
mp['7']="pqrs";
mp['8']="tuv";
mp['9']="wxyz";
mp['0']=" ";
string set;
vector<string> res;
if(digits.empty())
return res;
helper(digits,mp,set,res);
return res;
}
void helper(string digits,map<char,string> mp,string set,vector<string> &res){
if(digits.empty())
{
res.push_back(set);
return;
}
string keys=mp[digits[0]];
for(int i=0;i<keys.size();i++)
{
if(i==0)
set+=keys[i];
else
set[set.length()-1]=keys[i];
helper(digits.substr(1),mp,set,res);
}
}
};
leetcode 17: Letter Combinations of a Phone Number
最新推荐文章于 2020-10-13 06:37:16 发布