电话号码的字母组合(C++实现)
原理:
- digits长度不一定,如果考虑多层循环,根本无法写出循环代码
- 使用回溯算法,外层循环遍历当前数字的字母,然后递归遍历下个数字字母
C++实现:
unordered_map<char,string> map={{'2',"abc"},{'3',"def"},{'4',"ghi"},{'5',"jkl"},{'6',"mno"},{'7',"pqrs"},{'8',"tuv"},{'9',"wxyz"}};string s; //储存遍历字符串vector<string> ans; //储存最终结果void backtracking( string digits,int index){if(index==digits.size()) //如果下标为digits长度时,一组遍历就完成了{ans.push_back(s); //储存字符串return; }string a=map[digits[index]]; //当前数字的字母串for(int i=0;i<a.size();i++){s.push_back(a[i]); //将当前字母插入字符串backtracking(digits,index+1); //递归下个数字s.pop_back(); //一组字母组合已经储存,将字母串末尾字母出队,遍历当前数字的下个字母}}vector<string> letterCombinations(string digits) {if(digits.size()==0){return {};}s.clear();ans.clear();backtracking(digits,0);return ans;}
电话号码的字母组合(C++实现)相关推荐
- 《LeetCode力扣练习》第17题 电话号码的字母组合 Java
<LeetCode力扣练习>第17题 电话号码的字母组合 Java 一.资源 题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数 ...
- LeetCode 17电话号码的字母组合(搜索)18四数之和
电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23 ...
- [Leetcode][第17题][JAVA][电话号码的字母组合][回溯]
[问题描述][中等] [解答思路] 用哈希表/数组存储每个数字对应的所有可能的字母,然后进行回溯操作. 回溯过程中维护一个字符串,表示已有的字母排列(如果未遍历完电话号码的所有数字,则已有的字母排列是 ...
- 【LeetCode】【HOT】17. 电话号码的字母组合(递归)
[LeetCode][HOT]17. 电话号码的字母组合 文章目录 [LeetCode][HOT]17. 电话号码的字母组合 package hot;import java.util.ArrayLis ...
- [DFS|回溯法] leetcode 17 电话号码的字母组合
[DFS|回溯法] leetcode 17 电话号码的字母组合 1.题目 题目链接 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 ...
- 算法训练Day25 | LeetCode216. 组合总和III(和77.组合很像!);LeetCode17. 电话号码的字母组合(不同集合中组合)
目录 LeetCode216. 组合总和III 1. 思路 2. 代码实现 3. 剪枝 4. 复杂度分析 5. 思考与收获 LeetCode17. 电话号码的字母组合 1. 思路 2. 代码实现 3. ...
- leetcode17 电话号码的字母组合,39 组合总和(python)
文章目录 17. 电话号码的字母组合 分析 代码 通过截图 39. 组合总和 分析 代码 通过截图 代码 通过截图 17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的 ...
- Leetcode 电话号码的字母组合
电话号码的字母组合 题目描述: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母 题目链接 class Solut ...
- day21|216.组合总和III、17.电话号码的字母组合
216.组合总和III 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字 最多使用一次 返回所有可能的有效组合的列表 .该列表不能包含相同的组合两次,组合可以以 ...
- Day25|组合板子|216. 组合总和 III| 17. 电话号码的字母组合
组合板子+剪枝 216. 组合总和 III 剪枝操作? 17. 电话号码的字母组合 216. 组合总和 III class Solution {private:vector<int>tem ...
最新文章
- 头文件setjmp.h
- uva11111 	Generalized Matrioshkas
- 使用零代码平台构建应用,应该怎样转变思路?
- AngularJS图片上传功能的实现
- idea搜狗输入法中文变成繁体字
- php游戏传奇,GitHub - esons/pmir2: php,swoole,mirserver,mir2,传奇2,服务器,游戏服务器
- POJ 3097 Falling Ice 笔记
- MiniGUI源码分析——GDI概览及Surface
- Python爬取天天基金网历史数据
- VOT(Visual Object Tracking)评价指标综述
- 纯C语言INI文件解析
- Springboot上传文件时提示405
- 每日一算法:矩阵中最大正方形面积
- C++实现double factorial双阶乘的算法(附完整源码)
- 检测下你的显示器是否有问题
- 设计模式怎样解决设计问题
- 怒放丝路22——扬笛国画人物作品赏析
- TensorFlow2.4 开发 基础篇① 张量和变量 (1)
- 红外探测器 - 超声波测速器 - 毫米波雷达探测器
- 泛式算法,仿函数和迭代器失效问题