1. class Solution {
  2. public:
  3. map<char,string> dict;
  4.  
  5. vector<string> letterCombinations(string digits) {
  6. dict[''] = "abc";
  7. dict[''] = "def";
  8. dict[''] = "ghi";
  9. dict[''] = "jkl";
  10. dict[''] = "mno";
  11. dict[''] = "pqrs";
  12. dict[''] = "tuv";
  13. dict[''] = "wxyz";
  14.  
  15. vector<string> ans;
  16. helper(digits, digits.size(), ans);
  17.  
  18. return ans;
  19. }
  20. // 先把前n-1个实现,然后在前面的结果中追加第n个数字对应的字母,就是最终的结果。
  21. void helper(string &digits, int n, vector<string>& ans)
  22. {
  23. if(n == ) return;

  24.      //第n个数
  25. char num = digits[n-];
  26.  
  27. if(n == )
  28. {
  29. for(auto c:dict[num])//对每个字母
  30. ans.push_back(string(,c));
  31. return;
  32. }
  33.  
  34. //先获得前n-1个数字组成的字符串数组
  1. vector<string> a;
  1.      helper(digits, n-, a);
  2.  
  3. for(auto c: dict[num])// 把第n-1个数字,追加到每一个
  4. {
  5. for(auto str: a)
  6. {
  7. str.push_back(c);
  8. ans.push_back(str);
  9. }
  10. }
  11. }
  12. };
  13.  
  14. 回溯就是递归。把大问题分解成小问题?不知道是怎么描述这个思想。

回溯法 17. Letter Combinations of a Phone Number的更多相关文章

  1. [LeetCode][Python]17: Letter Combinations of a Phone Number

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 17: Letter Combinations of a Phone Numb ...

  2. Leetcode 17. Letter Combinations of a Phone Number(水)

    17. Letter Combinations of a Phone Number Medium Given a string containing digits from 2-9 inclusive ...

  3. 刷题17. Letter Combinations of a Phone Number

    一.题目说明 题目17. Letter Combinations of a Phone Number,题目给了下面一个图,输入一个字符串包括2-9,输出所有可能的字符组合. 如输入23所有可能的输出: ...

  4. 《LeetBook》leetcode题解(17):Letter Combinations of a Phone Number[M]

    我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...

  5. 17. Letter Combinations of a Phone Number C++回溯法

    简单的回溯法! class Solution { public: void backTrack(string digits, vector<string> words, string an ...

  6. 【一天一道LeetCode】#17. Letter Combinations of a Phone Number

    一天一道LeetCode (一)题目 Given a digit string, return all possible letter combinations that the number cou ...

  7. 17. Letter Combinations of a Phone Number[M]电话号码的字母组合

    题目 Given a string containing digits from 2-9 inclusive, return all possible letter combinations that ...

  8. 【LeetCode】17. Letter Combinations of a Phone Number 电话号码的字母组合

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 个人公众号:负雪明烛 本文关键词:电话号码, 字母组合,回溯法,题解,leetcode, ...

  9. Java [leetcode 17]Letter Combinations of a Phone Number

    题目描述: Given a digit string, return all possible letter combinations that the number could represent. ...

随机推荐

  1. pycharm2018.11最新激活码

    第一步:先按下键盘的win + r ,然后复制c:\windows\system32\drivers\etc粘贴到对话框回车打开文件管理器: 第二步:打开hosts文件,将0.0.0.0 accoun ...

  2. USD在CentOS7.0操作系统下的安装方法

    最近Pixar的开源USD软件很火,官方在Introduce中明确讲到这个软件的设计开发目标是增强艺术家协作,减少不确定因素,最大化资产版本迭代效率,追求更大的承载能力. 当今行业中传统的线性的制作方 ...

  3. spark安装

    Spark下载 在spark主页的download下,选择自己想要安装的spark版本, 注意跟本地hadoop的兼容性.我这里选择了2.4.0. https://www.apache.org/dyn ...

  4. 黄聪:C#使用GeckoFx拦截监控Http数据

    找了整整两天,在大海捞针之后,终于在上古代码中找到了一个可用的.... 可以用喜极而泣来形容测试有效之后的心情!!! 跟cefsharp相比geckofx最大的优点就是模式更接近于IE,包括node. ...

  5. 【linux】之日志查看

    搜索日志 -n 显示行号 grep 1570xxxx -n callback.tomcat-catalina-out 显示从第多少行~多少行 sed -n '464913,465020p' callb ...

  6. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)解答

    我在使用mysqll客户端连接我的mysql服务器的时候,出现了上述的问题.我的操作系统是ubuntu,安装版本是对应的64位服务器.我的服务器的启动方式是sudo service mysql sta ...

  7. js中正则表达式使用

    js中使用正则表达式,除了了解正则表达式基本的匹配规则外.还需要了解下面的基本的知识: python,js,groovy这些脚本语言都有在线调试的网站,可以在线测试是否有语法错误,用起来也很方便. v ...

  8. 了解原型设计工具pencil project

    Pencil Pencil是一个功能强大的界面原型设计工具,可以设计网页和桌面程序界面,侧重点在于设计,支持自定义控件和导出模板,功能确实很强大. 内置形状集合 从2.0.2开始铅笔默认包含更多形状集 ...

  9. mybatis关于ORM的使用以及设计(一)[ORM的初始化]

    ORM WIKI中的解释.画重点 Object-relational mapping (ORM, O/RM, and O/R mapping tool) in computer science is ...

  10. 入坑Intel OpenVINO:记录一个示例出错的原因和解决方法

    今天试用OpenVINO的例子,在过程中发现了一些其他人没有经历的坑特别记录一下. 出错时候:执行Intel OpenVINO示例的是时候,出错的提示代码: 用于 .NET Framework 的 M ...