leetcode17 电话号码的字母组合
题目:
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母
示例:
输入:“23”
输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].
代码分析:不太懂???
class Solution {public:vector<string> letterCombinations(string digits) {vector<string> combinations;if (digits.empty()) {return combinations;}unordered_map<char, string> phoneMap{{'2', "abc"},{'3', "def"},{'4', "ghi"},{'5', "jkl"},{'6', "mno"},{'7', "pqrs"},{'8', "tuv"},{'9', "wxyz"}};string combination;backtrack(combinations, phoneMap, digits, 0, combination); //从输入数字串的第一个元素开始return combinations;}void backtrack(vector<string>& combinations, const unordered_map<char, string>& phoneMap, const string& digits, int index, string& combination) {if (index == digits.length()) { //对应的是输入的数字串中最后一个数字combinations.push_back(combination);} else {char digit = digits[index]; //从输入数字串的第index个开始。const string& letters = phoneMap.at(digit); //找出这个数字对应的字母串for (const char& letter: letters) {combination.push_back(letter); //将该数字对应字母串的第一个字母放入combinationbacktrack(combinations, phoneMap, digits, index + 1, combination); //递归,index+1,取下一个数字对应字符串的第一个字符combination.pop_back();//将已经得到的结果的最后一个字符串出栈,用于放置其他字母。}}}
};
leetcode17 电话号码的字母组合相关推荐
- 算法训练Day25 | LeetCode216. 组合总和III(和77.组合很像!);LeetCode17. 电话号码的字母组合(不同集合中组合)
目录 LeetCode216. 组合总和III 1. 思路 2. 代码实现 3. 剪枝 4. 复杂度分析 5. 思考与收获 LeetCode17. 电话号码的字母组合 1. 思路 2. 代码实现 3. ...
- leetcode17 电话号码的字母组合,39 组合总和(python)
文章目录 17. 电话号码的字母组合 分析 代码 通过截图 39. 组合总和 分析 代码 通过截图 代码 通过截图 17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的 ...
- leetcode17. 电话号码的字母组合--每天刷一道leetcode算法系列!
作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...
- Leetcode--17.电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...
- [Swift]LeetCode17. 电话号码的字母组合 | Letter Combinations of a Phone Number
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- 2021-06-11 Leetcode17.电话号码的字母组合
1.1我的思路 先建立一个数组,预先存好对应的信息 然后以其中一个数字对应的字符数组作为根节点,将另一个字符数组作为子叶节点,依次经行路径的搜索 不会的地方 1)何时返回? 2)第一个数字所对应的字符 ...
- 代码随想录第25天|216.组合总和III,17.电话号码的字母组合
LeetCode216.组合总和||| 题目链接:216. 组合总和 III - 力扣(LeetCode) 思路: class Solution { public:int sum = 0,start ...
- LeetCode17:电话号码的字母组合(Javascript 解答)
电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例 1: ...
- 《LeetCode力扣练习》第17题 电话号码的字母组合 Java
<LeetCode力扣练习>第17题 电话号码的字母组合 Java 一.资源 题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数 ...
最新文章
- Oracle 12c(12.1.0.5) oem agent silent install(静默安装agent)
- WordPress的body_class()函数详解
- 交流磁路matlab,严格地说,交流磁路计算应该用磁滞回线。
- java socket client_java socket client
- Python之网络编程(一)
- JavaScript基础视频教程总结(011-020章)
- MyBatis开发文档
- 经纬度在线查询 地名 批量 查询经纬度 经纬度 批量 查询地名
- php缩图代码是什么,php生成缩略图的类代码
- 126邮箱绑定QQ邮箱并微信提醒
- 解决使用Glide加载图片背景出现浅绿色
- 北京林业大学matlab公选课,北京林业大学视频类公共选修课学习指引-北京林业大学教务处.DOC...
- 二次型相似对角化的原因
- ORB特征点提取与均匀化——ORBSLAM2源码讲解(一)
- Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day22】—— 并发编程2
- 游戏编辑器制作(8)
- 解决路由报错Uncaught (in promise) NavigationDuplicated:
- 算法 |【实验5.3】:一元三次方程的根-连续区间的二分搜索求近似解
- 4.1二维曲线绘制(plot与fplot)
- 用 Python 给女友做了个可能会被打死的七夕礼物
热门文章
- BZOJ 3504: [Cqoi2014]危桥 [最大流]
- Shell脚本[运算表达式,条件控制语句]
- HDU 1005 Number Sequence
- linux常用svn命令
- UA MATH567 高维统计I 概率不等式5 推广Hoeffding不等式与Khintchine不等式
- 初步了解Windows应用程序内存结构 - 使用VMMAP工具
- ASP.NET Razor (标记)语言概要
- Promise.race 的原理
- SQL注入语法类型——报错注入
- 在Android中使用OpenGL ES开发第(五)节:GLSL基础语法