您的位置:首页 > 其它

leetcode 17: Letter Combinations of a Phone Number

2015-07-03 11:55 447 查看
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);
}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: