https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/

解决方案

class Solution {public List<String> letterCombinations(String digits) {List<String> combinations = new ArrayList<>();if (digits.length() == 0) {return combinations;}Map<Character, String> phoneMap = new HashMap<>() {{put('2', "abc");put('3', "def");put('4', "ghi");put('5', "jkl");put('6', "mno");put('7', "pqrs");put('8', "tuv");put('9', "wxyz");}};combinations.add("");for (int i = 0; i < digits.length(); i++) {List<String> list = new ArrayList<>();for (char c : phoneMap.get(digits.charAt(i)).toCharArray()) {list.addAll(combinations.stream().map(s -> s + c).collect(Collectors.toList()));}combinations = list;}return combinations;}
}

LeetCode 17 电话号码的字母组合相关推荐

  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.电话号码的字母组合

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

最新文章

  1. 验证码实现(随机背景色及字体颜色,带扰乱线条)
  2. nginx 配置并发数限制
  3. eclipse+ADT下android开发AVD若干问题
  4. Linux 配置JAVA_HOME
  5. 学习opencv3中文版_给视觉组新生的一点学习建议
  6. Mysql 无法插入中文,中文乱码解决
  7. linux 多线程客户端服务端通信,[转载]多线程实现服务器和客户端、客户端和客户端通信;需要代码,留言...
  8. h5页面嵌入android app时遇到的问题
  9. 如何在Ubuntu 14.04上使用Percona XtraBackup创建MySQL数据库的热备份
  10. 刚安装玩mysql如何登录不了_解决启用GTID binlog新安装完的MySQL提示无法登录
  11. rabbitmq中的消息有id吗_RabbitMQ 如何实现对同一个应用的多个节点进行广播
  12. c语言指令保留字,C语言命令令、符号表
  13. 头发mod_《巫师3》:新MOD为三个大妹子,4K超清贴图看过来
  14. orale如果是整数后面补小数点0_Win10完美整数大小磁盘分区
  15. mybatis在指定库建表_搭建MyBatis开发环境及基本的CURD介绍
  16. python sdklive2d_纯干货!live2d动画制作简述以及踩坑
  17. SSh框架的整合流程
  18. STM32第七章-脉冲宽度调制
  19. 1 人抵 1 万名黑客的阿里女守护神,私底下竟然是这个样子!
  20. 【GRNN情绪识别】基于GRNN神经网络的情绪识别算法matlab仿真

热门文章

  1. [转]C++学习:VC++动态链接库(DLL)编程深入浅出(zz)
  2. ural 1306. Sequence Median(优先级队列 priority_queue用法)
  3. PHP面向对象的进阶学习
  4. 机器学习相关——SVD分解
  5. php 实现时时更新地图,PHP实现隔15分钟自动更新网站地图功能
  6. markdown数学公式换行对齐_Markdown语法详细
  7. mysql错误1300怎么解决_pt-osc 变更时遇到 “MySQL error 1300” 报错问题解决
  8. android classloader的功能和工作模式,Android中ClassLoader和java中ClassLoader有什么关系和不同...
  9. 傅里叶变换音频可视化_快速上手网易云音乐可视化
  10. zookeeper 密码_「附源码」Dubbo+Zookeeper 的 RPC 远程调用框架