★LeetCode(17)——电话号码的字母组合(JavaScript)
给定一个仅包含数字 2-9
的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
示例:
输入:“23”
输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].
说明:
- 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。
/*** @param {string} digits* @return {string[]}*/
var letterCombinations = function(digits) {};
个人解法
var letterCombinations = function(digits) {var arr = ["abc",'def','ghi','jkl','mno','pqrs','tuv','wxyz'];var result = [];//输入的为空串返回空数组if(digits.length === 0){return [];}else{//将每个数字对应的字母拆分为数组存进result里面//如"23" -> result = [['a','b','c'],['d','e','f']]for(var i = 0; i < digits.length; i ++){result.push(arr[Number(digits[i]) - 2].split(""));}//将result的前两个元素(数组)的每个元素进行拼串然后push进arr2//arr2 = ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"];//将arr2替换result的前两个元素,然后判断result长度是否为1,为1则停止循环while(result.length > 1){var arr2 = [];for(var i = 0; i < result[0].length; i ++){for(var j = 0; j < result[1].length; j ++){arr2.push(result[0][i] + result[1][j]);}}result.splice(0 , 2 , arr2);arr2 = [];}//返回result第一个元素return result[0];}
};
★LeetCode(17)——电话号码的字母组合(JavaScript)相关推荐
- [DFS|回溯法] leetcode 17 电话号码的字母组合
[DFS|回溯法] leetcode 17 电话号码的字母组合 1.题目 题目链接 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 ...
- LeetCode 17电话号码的字母组合(搜索)18四数之和
电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23 ...
- leetcode 17. 电话号码的字母组合 思考分析
题目 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 思考与递归程序 解空间树的宽度是输入数字对应的字符的个 ...
- [LeetCode] 17. 电话号码的字母组合
1 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输 ...
- LeetCode 17. 电话号码的字母组合(回溯)
文章目录 1. 题目信息 2. 解题 1. 题目信息 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: ...
- leetcode —— 17. 电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...
- leetcode 17. 电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...
- C++ leetcode 17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
一.解题思路 用map可以加快查询速度,DFS深度搜索,DFS是一种很常见的对于多循环或者n!的好的搜索算法. 二.代码:C++ void init(map<char, string> & ...
- LeetCode 17 电话号码的字母组合
https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/ 解决方案 class Solution {public ...
- leetcode 17.电话号码的字母组合
题目 解法 BFS + hash /* 广度遍历,利用队列实现 */ class Solution {private:unordered_map<char,string> tel_map; ...
最新文章
- Android 面试题目之 关于AbstractQueuedSynchronizer的注解翻译
- 深入浅出依赖注入框架Dagger2
- 修改Centos7默认yum源为阿里云源
- pod setup 慢 的问题
- redis的安装和pip连接
- 清除DataTable中的空行记录
- 【Android工具】wifi概观360中文专业版,wifi overview 360 pro,wifi信息查看工具
- Zen Cart 常用SQL命令
- 计算机管理要继续请输入,若要继续,请键入管理员密码然后单击是问题解决方法...
- 大数据之-Hadoop3.x_Yarn_容量调度器---大数据之hadoop3.x工作笔记0145
- 格林斯潘的一句话造成昨天(5月24日)股市大跌后爬升的分析
- 360手机浏览器_UC、QQ、华为、360、搜狗、小米、vivo、OPPO等8款手机浏览器被纳入首批传播秩序专项整治...
- javase和java区别_javase和java有什么区别
- 魔方矩阵c语言,C语言 检验并打印魔方矩阵 在下面的5×5魔方矩阵中,每一行、每一列、...
- nRF24L01无线模块笔记
- 实例总结C#反射基础知识[原创]
- 2018云计算服务器数量,2018年全球及中国云计算行业市场规模及增速预测【图】...
- 《沉思录》读书精摘——对伦理学的古典思考
- 介绍一些免费/开源的医学影像后处理工具
- C# webbrowser文本框的键盘和鼠标模拟输入和模拟鼠标点击