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

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

示例:

输入:"23"
输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
class Solution(object):def letterCombinations(self, digits):""":type digits: str:rtype: List[str]"""dict_phone = {'2':['a','b','c'],\'3':['d','e','f'],\'4':['g','h','i'],\'5':['j','k','l'],\'6':['m','n','o'],\'7':['p','q','r','s'],\'8':['t','u','v'],\'9':['w','x','y','z']}temp = ''res = []def backtrack(word, temp):if words:for j in dict_phone[word[0]]:temp = temp + jbacktrack(word[1:], temp)if len(word)==1:res.append(temp)temp = temp[:-1]else:passbacktrack(digits, temp)return res

在脑海里形成一个树的概念就可以了解这道题的原理,从第一个字母的三个根分散开来。

leetcode力扣17.电话号码的字母组合相关推荐

  1. leetcode 回溯算法 17. 电话号码的字母组合

    电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例 1: ...

  2. 力扣:电话号码的字母组合

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

  3. LeetCode (力扣) 17. Letter Combinations of a Phon (C) - Medium (递归法)

    同步发于 JuzerTech 网站,里面有我软.硬件学习的纪录与科技产品开箱,欢迎进去观看. 传统手机透过数字键来打字,一个数字键通常代表了多个英文字母,例如2 代表a , b , c ,3 代表d ...

  4. Leetcode题库——17.电话号码的字母组合

    @author: ZZQ @software: PyCharm @file: letterCombinations.py @time: 2018/10/18 18:33 要求:给定一个仅包含数字 2- ...

  5. 【LeetCode笔记】17.电话号码的字母组合(Java、DFS)

    文章目录 题目描述 代码 & 思路 题目描述 得建立映射,其实用数组来建立也行,看起来还比较直观. 代码 & 思路 理好DFS的过程就行,整体思路不难 当递归字符length = 1时 ...

  6. 小黑查重后惊掉下巴,晚上准备跟小元同学吃烧烤的leetcode之旅:17. 电话号码的字母组合

    小黑代码(与官方题解思路一致) class Solution:def letterCombinations(self, digits: str) -> List[str]:# 字符串长度n = ...

  7. 《LeetCode力扣练习》第17题 电话号码的字母组合 Java

    <LeetCode力扣练习>第17题 电话号码的字母组合 Java 一.资源 题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数 ...

  8. Day25 LeetCode 216. 组合总和 III 17. 电话号码的字母组合

    题目:216. 组合总和 III - 力扣(LeetCode) 思路: 1.递归函数参数和返回值:首先需要两个全局变量一维path数组和二维result数组,path数组用来收集路径上的元素,resu ...

  9. 【LeetCode】【HOT】17. 电话号码的字母组合(递归)

    [LeetCode][HOT]17. 电话号码的字母组合 文章目录 [LeetCode][HOT]17. 电话号码的字母组合 package hot;import java.util.ArrayLis ...

最新文章

  1. 【转】RelativeLayout和LinearLayout及FrameLayout性能分析
  2. Hacker(六)----黑客藏匿之地--系统进程
  3. mysql的复合类型_PLSQL 复合类型数据
  4. PHP学习之路(一)工欲善其事,必先利其器(Zend配置)
  5. BinaryTreeTraversal(二叉树遍历)
  6. 角色动作系统概述:战斗、3C相关
  7. JDK11的新特性:新的HTTP API
  8. Kyma registration of webservices and event endpoints
  9. 堆的构建、堆的插入、堆的删除、堆排序
  10. Java的值传递解析
  11. java常用简略语含义
  12. LightOJ 1197 Help Hanzo 素数筛
  13. leetcode894.AllPossibleFullBinaryTrees
  14. 黑莓 os6 html5,黑莓OS 6内置浏览器HTML5性能超越其他平台
  15. 好用的Java开发IDEA插件汇总推荐
  16. 【Windows Mobile】Win10 停留在加载界面无法进入主界面
  17. 番茄todo服务器维护,番茄ToDo:克服“拖延症”必备高效神器!
  18. 泰坦尼克号生存预测(多种模型实现)python
  19. HDR视频色调映射算法(之四:Display adaptive TMO)
  20. 【秋招面经】之神策数据

热门文章

  1. SAP License:WBS结果分析
  2. 赛锐信息:集团化公司SAP权限管控解决方案
  3. 原创专栏:谈谈我对评分模型的理解
  4. web元件库/常用web组件/常用表单/导航栏/边框/图标/日期时间选择器/评分组件/穿梭框/输入框/步骤条/计数器/输入框/Axure原型/axure元件库/rp原型/交互控件/五星评分器/导航框架
  5. 学习java之利用泛型访问自己定义的类
  6. 三、 redis进阶篇
  7. Java中的equals() 和 ==
  8. div 显示滚动条的CSS代码
  9. Linux下的c++编程
  10. 分享一个同行的blog,UI方面的。