1.题目描述

Given a digit string, return all possible letter combinations that the number could represent.

A mapping of digit to letters (just like on the telephone buttons) is given below.

给一个数字字符串,返回所有可能的字母组合。

Input:Digit string "23"
Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

2.题目分析

注意含有“0”“1”就返回空列表

3.解题思路

 1 class Solution(object):
 2     def letterCombinations(self, digits):
 3         """
 4         :type digits: str
 5         :rtype: List[str]
 6         """
 7         strs="" #当前字符串
 8         temp=[] #当前字符串列表
 9         result=[] #最后要返回的结果
10         dic={"2":"abc","3":"def","4":"ghi","5":"jkl","6":"mno","7":"pqrs","8":"tuv","9":"wxyz"} #设置字典便于查询
11         if "1"in digits or"0"in digits: #排除含有“0”“1”的情况
12             return []
13         for i in digits:
14             temp=result #将上一级字符串列表给temp
15             result=[] #result列表清空
16             l1=len(temp)
17             str1=dic[i]
18             l2=len(str1)
19             j=0
20             if l1==0: #得到第一级字符串列表
21                 for s in str1:
22                     result.append(s)
23             while j<l1:
24                 k=0
25                 while k<l2:
26                     strs=temp[j] #获得当前字符串
27                     strs+=str1[k]
28                     result.append(strs) #补充result列表
29                     k+=1
30                 j+=1
31          return result

转载于:https://www.cnblogs.com/19991201xiao/p/8476421.html

40.leetcode17_letter_combinations_of_a_phone_number相关推荐

  1. 剑指offer 40.最小的 K 个数 python代码

    题目 寻找数组中的最小的k个数,也叫topk问题. 牛客网测试地址 注意: 牛客网的提交需要将最终的结果排序 思路 快速排序的 partition() 方法,会返回一个整数 j 使得 a[l-j-1] ...

  2. 40个常用的网站制作技巧

    1.   οncοntextmenu= "window.event.returnValue=false "   将彻底屏蔽鼠标右键 <table   border   οnc ...

  3. 朱敏:40岁创业如何成就绝代明星?(五)

    来源 中国企业家 东方元素是网讯内涵里不可忽视的一部分         如果有机会拜访网讯的美国总部,你会发现这是  一家带着醒目美国特色IT公司,很难说出它与其他  硅谷公司的不同.但在你视野所不能 ...

  4. 细鹏系列裸金属服务器多核算力,鲲鹏凌云,开启多元计算新架构_外发版(40页)-原创力文档...

    鲲鹏凌云,开启多元计算新架构 华为云鲲鹏云服务整体介绍及实践 华为云鲲鹏凌云生态总监 白雁 这是最好的时代,这是最坏的时代 应用移动化和数据多样性,呼唤新的算力 移动智能终端逐渐取代传统PC 世界正在 ...

  5. java selenium_java+selenium,40行代码完成支付宝账单爬取

    java+selenium,40行代码完成支付宝账单爬取 需要jar selenium-server-4.0.0-alpha-5.jar 需要驱动 chromedriver.exe 驱动需要和浏览器版 ...

  6. mysql内连接运算量会增加多少_新年手打,40道经典MYSQL面试干货,速来收藏

    MySQL 面试题 1.MySQL 中有哪几种锁? 1.表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最 高,并发度最低. 2.行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发 ...

  7. enspar启动失败40_负债80万开始爆仓,快40岁的人了没钱创业,精神恍惚该怎么翻身?...

    说实话,债务爆仓,处在人生一个关键年龄段,不迷茫是不可能的.快40岁的人了遍体鳞伤,想创业又犹豫不决,上班也不大可能还上债务,该怎么办?要想重新翻身,还是得折腾再去创业,怎么开始呢?我认为先做好以下几 ...

  8. Linux运维跳槽必备的40道面试精华题

    过一次年,结婚.存款.父母养老,一系列向钱看的事都在碾压我们本来还挺简单的神经,但难过没有出路,唯有找到好的方法和事业方向,才能实现一步一个脚印的逆袭. 下面是一名资深Linux运维求职数十家公司总结 ...

  9. 对Android 开发者有益的 40 条优化建议(转)

    下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...

最新文章

  1. linux ps命令大全,Linux ps命令例子汇总
  2. matlab 绘制圆
  3. python 队列 锁_python-day31(同步锁,队列)
  4. Linux shell字符串运算
  5. IAR编译Z-Stack项目报错—Error[e46]: Undefined external “?V11” referred in AF
  6. flex组件使用【PopUpButton】
  7. Python3解析XML文件(xml.etree.ElementTree)——以简单网络爬虫为例
  8. easyexcel导入获取表头并且表头为不固定列
  9. 数据库设计以及PD数据导入数据库
  10. linux 系统添加字体,linux服务器下添加字体
  11. python将英文翻译为中文_Python中英文翻译工具
  12. 运行内存扩展器(RAM)扩大,最高达2.5g
  13. boseqc35能不能连电脑_boseQC35耳机不能连接win10电脑如何解决
  14. 趣图:公司里来了一个程序员鼓励师
  15. Kali Linux学习笔记—无线渗透 WPA攻击(PSK破解、AIROLIB、JTR、cowpatty、pyrit)
  16. wannier插值能带拟合1
  17. 计算机用户账户类型,计算机系统帐户的分类
  18. HEVC代码学习15:AMVP相关函数
  19. python--敲击木鱼积累功德小项目(更新版(2))
  20. UVA 11549 Calculator Conundrum

热门文章

  1. STL工具书(常用用法总结)
  2. 推荐几个我目前在用的简历制作工具
  3. 对付镜像网站非常有效的办法
  4. 现在70岁左右的人算不算是老年人?
  5. 哪些蔬菜基本不会使用农药?
  6. 小说和散文在写作语言(表达方式等)方面究竟有多大不同?
  7. 你在现实中遇到让你最跌破三观的人或者事是什么?
  8. 白岩松曾说过这样一段话
  9. 社群模式:什么是普通人赚钱的核心秘密
  10. Java中的properties文件中的key不能使用项目中的接口名和Java文件名