Letter Combinations of a Phone Number

Given a digit string, return all possible letter combinations that the number could represent.

A mapping of digit to letters (just like on the telephone buttons) is given below.

Input:Digit string "23"
Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

Note:
Although the above answer is in lexicographical order, your answer could be in any order you want.

用dfs解决

class Solution {
public:
vector<string> letterCombinations(string digits) {
vector<string>ans;
dfs(digits,0,"",ans);
return ans;
}
void dfs(string digits, int start, string s, vector<string>&ans){
if(start == digits.size()){
if(s != "")
ans.push_back(s); return;
}
int cnt = digits[start]-'2';
for(int i = 0; i < 4; i++)
if(letter[cnt][i] != '!')
dfs(digits, start+1,s+letter[cnt][i],ans);

}
char letter[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'}

};
};

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » Letter Combinations of a Phone Number

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡