LeetCode 17. 电话号码的字母组合(回溯)
发布日期:2021-07-01 03:13:58
浏览次数:2
分类:技术文章
本文共 1093 字,大约阅读时间需要 3 分钟。
文章目录
1. 题目信息
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
说明:
尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。2. 解题
类似题目:
- 先创建哈希映射表
- 然后暴力回溯
class Solution { public: vectorletterCombinations(string digits) { if(digits.empty()) return { }; string temp; vector ans; unordered_map > v; v['2'] = { 'a','b','c'}; v['3'] = { 'd','e','f'}; v['4'] = { 'g','h','i'}; v['5'] = { 'j','k','l'}; v['6'] = { 'm','n','o'}; v['7'] = { 'p','q','r','s'}; v['8'] = { 't','u','v'}; v['9'] = { 'w','x','y','z'}; bt(v,digits,temp,ans,0); return ans; } void bt(unordered_map > &v, string &digits, string temp, vector &ans, int i) { if(i == digits.size()) { ans.push_back(temp); return; } vector ch = v[digits[i]]; for(auto it = ch.begin(); it != ch.end(); ++it) { temp.push_back(*it); bt(v,digits,temp,ans,i+1); temp.pop_back(); } }};
转载地址:https://michael.blog.csdn.net/article/details/100436281 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月17日 11时10分23秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
45.在Mac上使用gitolite搭建Git服务器
2019-05-04
46.[Python]使用pyolite方便管理gitolite
2019-05-04
48.HTTP基本认证与摘要认证
2019-05-04
49.[Python]使用requests包进行HTTP交互方法详解
2019-05-04
50.[Python]使用Selenium包做Web页面自动化测试详解
2019-05-04
47.HTTP代理(转发代理&反向代理)与重定向
2019-05-04
51.[Python]使用multiprocessing进行多进程编程
2019-05-04
52.[Python]使用threading进行多线程编程
2019-05-04
53.HTTP缓存详解
2019-05-04
54.[ubuntu]自己编译安装vim 8.0的方法
2019-05-04
55.Git备忘笔记
2019-05-04
56.在Ubuntu上安装Gitlab过程详解
2019-05-04
57.Python项目在Jenkins中的自动化测试实践
2019-05-04
58.应用性能监控APM之collectd+InfluxDB+Grafana系统搭建
2019-05-04
59.鸟哥的Linux私房菜笔记—计算机概论
2019-05-04
60.[PHP]PHP简介及LNMP环境搭建(CentOS 7环境)
2019-05-04
61.[PHP]PHP 程序的运行方式
2019-05-04
62.[GIS基础]笛卡尔坐标系
2019-05-04
63.[GIS基础]向量及其运算
2019-05-04
64.[GIS基础]矩阵、线性变换和仿射变换
2019-05-04