给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

示例:

输入:"23"
输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

思路:

回溯法

提交的代码:

class Solution {

Map<String, String> phone = new HashMap<String, String>() {{

put("2", "abc");

put("3", "def");

put("4", "ghi");

put("5", "jkl");

put("6", "mno");

put("7", "pqrs");

put("8", "tuv");

put("9", "wxyz");

}};

List<String> output = new ArrayList<String>();

public List<String> letterCombinations(String digits) {

if(digits.length()!=0)

{

back("",digits);

}

return output;

}

public void back(String now,String next_word)

{

if(next_word.length()==0)

{

output.add(now);

}

else

{

String y = next_word.substring(0,1);//获得当前数字

String x = phone.get(y);  //获得每个数字代表的字母

for(int i=0;i<x.length();i++)

{

String z = x.substring(i,i+1);

back(now.concat(z),next_word.substring(1));

}

}

}

}

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

    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. PHP安全: 一个新型的php一句话cmdshell
  2. 工作中不能学的6种人
  3. 支付宝生活号 php,关于PHP框架Laravel怎么配置支付宝生活号应用网关呢?
  4. 2018年终总结之人工智能学习
  5. rac下asm管理的表空间-数据文件的重命名
  6. jzoj6313-Maja【dp】
  7. 精益或六西格玛已经不易了,为啥还需要“精益六西格玛”?
  8. c#服务器后台搭建_【环境搭建】Docker简明安装教程
  9. nginx 上传 文件超时设置_nginx限制上传大小和超时时间设置说明/php限制上传大小...
  10. php实参和形参不一致的情况
  11. Serializable中的serialVersionUID
  12. eclipse python_一文教你配置得心应手的Python
  13. main函数中argc和argc参数解释
  14. 《动手学深度学习》全系列目录
  15. php sql注入防御方法,php怎么防御sql注入
  16. Java调用阿里云短信通道服务
  17. 计算机硬盘分区显示不全,windows7系统磁盘分区图标显示不正常的两种解决方法【图】...
  18. 公告模块phpcms
  19. 电子商务运营数据分析
  20. 华为手机总是弹出风险提示

热门文章

  1. LeetCode 1389. 按既定顺序创建目标数组
  2. php表白页面,2020情人节表白页面(代码分享)
  3. java 主方法 this_java main 方法怎么创建
  4. python自动化pdf报告_[Python] 自动化办公 PDF提取文字、表格、图片
  5. css样式子绝父相,子绝父相_HTML+CSS前端基础知识教程_腾讯视频
  6. ios html高度自适应,iOS UILabel高度自适应终结篇
  7. Ubuntu 扩展内存或断电之后卡在 /dev/sda1 clean 和 /dev/sda1 recovering journal
  8. 用python生成云词汇_用python生成词云wordcloud
  9. ACL'21 | 弱标签的垃圾数据,也能变废为宝!
  10. Redis系列教程(三):如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题