给定一个仅包含数字 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)相关推荐

  1. [DFS|回溯法] leetcode 17 电话号码的字母组合

    [DFS|回溯法] leetcode 17 电话号码的字母组合 1.题目 题目链接 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 ...

  2. LeetCode 17电话号码的字母组合(搜索)18四数之和

    电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23 ...

  3. leetcode 17. 电话号码的字母组合 思考分析

    题目 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 思考与递归程序 解空间树的宽度是输入数字对应的字符的个 ...

  4. [LeetCode] 17. 电话号码的字母组合

    1 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输 ...

  5. LeetCode 17. 电话号码的字母组合(回溯)

    文章目录 1. 题目信息 2. 解题 1. 题目信息 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: ...

  6. leetcode —— 17. 电话号码的字母组合

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...

  7. leetcode 17. 电话号码的字母组合

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...

  8. C++ leetcode 17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

    一.解题思路 用map可以加快查询速度,DFS深度搜索,DFS是一种很常见的对于多循环或者n!的好的搜索算法. 二.代码:C++ void init(map<char, string> & ...

  9. LeetCode 17 电话号码的字母组合

    https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/ 解决方案 class Solution {public ...

  10. leetcode 17.电话号码的字母组合

    题目 解法 BFS + hash /* 广度遍历,利用队列实现 */ class Solution {private:unordered_map<char,string> tel_map; ...

最新文章

  1. Android 面试题目之 关于AbstractQueuedSynchronizer的注解翻译
  2. 深入浅出依赖注入框架Dagger2
  3. 修改Centos7默认yum源为阿里云源
  4. pod setup 慢 的问题
  5. redis的安装和pip连接
  6. 清除DataTable中的空行记录
  7. 【Android工具】wifi概观360中文专业版,wifi overview 360 pro,wifi信息查看工具
  8. Zen Cart 常用SQL命令
  9. 计算机管理要继续请输入,若要继续,请键入管理员密码然后单击是问题解决方法...
  10. 大数据之-Hadoop3.x_Yarn_容量调度器---大数据之hadoop3.x工作笔记0145
  11. 格林斯潘的一句话造成昨天(5月24日)股市大跌后爬升的分析
  12. 360手机浏览器_UC、QQ、华为、360、搜狗、小米、vivo、OPPO等8款手机浏览器被纳入首批传播秩序专项整治...
  13. javase和java区别_javase和java有什么区别
  14. 魔方矩阵c语言,C语言 检验并打印魔方矩阵 在下面的5×5魔方矩阵中,每一行、每一列、...
  15. nRF24L01无线模块笔记
  16. 实例总结C#反射基础知识[原创]
  17. 2018云计算服务器数量,2018年全球及中国云计算行业市场规模及增速预测【图】...
  18. 《沉思录》读书精摘——对伦理学的古典思考
  19. 介绍一些免费/开源的医学影像后处理工具
  20. C# webbrowser文本框的键盘和鼠标模拟输入和模拟鼠标点击

热门文章

  1. 衡量激光雷达性能好坏的标准是什么?
  2. ubuntu16.04安装wordpress
  3. wordPress设计网页实践
  4. [unity3d]Assetbundle使用示例2(支持多平台)
  5. 打造高效前端工作环境 - tmux
  6. DataBase 之 数据库设计六大范式
  7. 如何快速演变XMind文件
  8. 换个红圈1微信头像恶搞一下好友
  9. “SQL对象名无效”的解决过程
  10. 全数字伺服系统中位置环和电子齿轮的设计