【LeetCode】【HOT】17. 电话号码的字母组合

文章目录

  • 【LeetCode】【HOT】17. 电话号码的字母组合

package hot;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class Solution17 {public static void main(String[] args) {String digits = "23";Solution17 solution = new Solution17();System.out.println(solution.method(digits));}List<String> result = new ArrayList<>();Map<Character, String> phoneMap = new HashMap<Character, 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");}};private List<String> method(String digits){int length = digits.length();if(length == 0){return result;}recur(digits,0, new StringBuilder());return result;}private void recur(String digits, int index, StringBuilder combination){if(index == digits.length()){result.add(combination.toString());}else{char digit = digits.charAt(index);String letters = phoneMap.get(digit);int lettersCount = letters.length();for(int i = 0; i < lettersCount; i++){combination.append(letters.charAt(i));recur(digits,index+1,combination);combination.deleteCharAt(index);}}}
}//时间复杂度为 O(3^n*4^n)
//空间复杂度为 O(n)

【LeetCode】【HOT】17. 电话号码的字母组合(递归)相关推荐

  1. 算法leetcode|17. 电话号码的字母组合(rust重拳出击)

    文章目录 17. 电话号码的字母组合: 样例 1: 样例 2: 样例 3: 提示: 原题传送门: 分析 题解 rust go c++ java typescript python 17. 电话号码的字 ...

  2. leetcode系列--17.电话号码的字母组合

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

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

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

  4. LeetCode刷题记录——17电话号码的字母组合

    LeetCode刷题记录--17电话号码的字母组合 一 题目描述: 给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合.给出数字到字母的映射如下.注意1不对应任何字母 示例: 输入:&quo ...

  5. Leetcode算法Java全解答--17. 电话号码的字母组合

    Leetcode算法Java全解答–17. 电话号码的字母组合 文章目录 Leetcode算法Java全解答--17. 电话号码的字母组合 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用 ...

  6. [DFS|回溯法] leetcode 17 电话号码的字母组合

    [DFS|回溯法] leetcode 17 电话号码的字母组合 1.题目 题目链接 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 ...

  7. leetcode:491. 递增子序列、17. 电话号码的字母组合、31. 分割回文串、93. 复原 IP 地址(JavaScript)

    文章目录 491. 递增子序列 分析 去重 如何保证递增呢? 17. 电话号码的字母组合 思路: 单层递归逻辑 递归终止条件 完整代码 另一种写法 31. 分割回文串 思路:分析题目本题可分为两步 9 ...

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

    文章目录 216组合总和III c++ 代码实现 python 代码实现 17.电话号码的字母组合 c++ 代码实现 python代码实现 216组合总和III 找出所有相加之和为 n 的 k 个数的 ...

  9. 代码随想录第25天|216.组合总和III,17.电话号码的字母组合

    LeetCode216.组合总和||| 题目链接:216. 组合总和 III - 力扣(LeetCode) 思路: class Solution { public:int sum = 0,start ...

最新文章

  1. 知识驱动的推荐系统:现状与展望
  2. 人工智能的8种工业4.0指标
  3. shell脚本自动化部署服务
  4. POJ1787多重背包中在最优方案下输出具体的选择方案
  5. UA OPTI512R 傅立叶光学导论22 透镜成像与傅立叶变换
  6. GDCM:读取和打印DICOM的属性的测试程序
  7. 机器手六维坐标怎么定义_工业机器人十万个怎么办-不清楚机器人各坐标系含义怎么办?...
  8. 如何在 C# 8 中使用默认接口方法
  9. P7516 [省选联考 2021 A/B 卷] 图函数
  10. Maven补全之生命周期(Lifecycle)
  11. ubuntu系统安装TeamViwer远程控制软件
  12. winamp 珍藏_Winamp发生了什么,您现在可以使用吗?
  13. 微软的APT服务器探针产品,原子探针断层扫描| APT | EAG实验室
  14. 普通计算机用的是什么屏幕,笔记本屏幕的色域 72%NTSC和100%sRGB有什么区别
  15. 一文看懂ARM Cortex-M处理器 ARM Cortex-M 处理器家族介绍和比较
  16. 求饶不经过原点的旋转轴的旋转矩阵
  17. SHT2x系列数字温湿度传感器
  18. PHP折算,PHP实现货币换算的方法_PHP
  19. incremental backups
  20. 360°全景影像建库流程

热门文章

  1. linux生成的pdf文件,把LINUX MAN PAGE生成为PDF文件的脚本
  2. %02 java_02_Java语法
  3. insert时出现主键冲突的处理方法【转载】
  4. grpc,protoc, protoc-gen-go,rust
  5. 网页打印物理大小尺寸的单位换算
  6. 自动变量和开辟内存的生存期和作用域探讨
  7. poj 2240 Arbitrage(bellman-ford spfa 判断正环)
  8. GitHub中watch star fork三个按钮干什么用的?
  9. Excel中根据单元格背景色求和
  10. 颜色选择器的设计与实现II