news 2026/4/29 8:34:29

电话号码的字母组合

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
电话号码的字母组合

给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。

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

示例 1:

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

关键点:

定义字符和字母的映射 '2' -> "abc"

用stringBuilder拼接递归中字母

递归中对每个按键可取字母进行遍历(穷举的过程),遍历一轮要把上轮已拼接好的删除掉,穷举拼接上新的字符

中止条件就是当前索引 == 字符串的长度

public List<String> letterCombinations(String digits) { List<String> combinations = new ArrayList<>(); if (digits.length() == 0) { return combinations; } // 初始化map Map<Character, String> photoMap = 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"); }}; letterCombinationsDfs(digits, 0, new StringBuilder(), combinations, photoMap); return combinations; } public void letterCombinationsDfs(String digits, int index, StringBuilder combination, List<String> combinations, Map<Character, String> photoMap) { if (index == digits.length()) { combinations.add(combination.toString()); } else { char digit = digits.charAt(index); String letters = photoMap.get(digit); int lettersCount = letters.length(); // 第一个字母开始进行递归 for (int i = 0; i < lettersCount; i++) { combination.append(letters.charAt(i)); // 每一个字母进行递归,进行下一个字母的递归 letterCombinationsDfs(digits, index + 1, combination, combinations, photoMap); // 删除当前字母 combination.deleteCharAt(index); } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 19:33:59

Z-Image-Turbo负向提示词库:常用屏蔽词清单分享

Z-Image-Turbo负向提示词库&#xff1a;常用屏蔽词清单分享 阿里通义Z-Image-Turbo WebUI图像快速生成模型 二次开发构建by科哥负向提示词的重要性&#xff1a;为什么你需要一个系统化的屏蔽词库&#xff1f; 在使用 Z-Image-Turbo 这类基于扩散机制的AI图像生成模型时&#xf…

作者头像 李华
网站建设 2026/4/21 21:44:10

MGeo在会展中心展位信息整合中的实践

MGeo在会展中心展位信息整合中的实践 引言&#xff1a;会展场景下的地址数据治理挑战 在大型会展中心的运营管理中&#xff0c;展位信息的整合是一项高频且复杂的任务。不同参展商、系统平台和历史数据源提供的展位描述往往存在显著差异——同一展位可能被记录为“上海新国际博…

作者头像 李华
网站建设 2026/4/23 17:11:49

解锁AMD锐龙处理器潜能:SMUDebugTool硬件调试实战手册

解锁AMD锐龙处理器潜能&#xff1a;SMUDebugTool硬件调试实战手册 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

作者头像 李华
网站建设 2026/4/23 9:57:05

NoSleep防休眠工具:3步解决Windows电脑自动锁屏烦恼

NoSleep防休眠工具&#xff1a;3步解决Windows电脑自动锁屏烦恼 【免费下载链接】NoSleep Lightweight Windows utility to prevent screen locking 项目地址: https://gitcode.com/gh_mirrors/nos/NoSleep 你是否曾经遇到过这样的困扰&#xff1a;正在观看重要的在线视…

作者头像 李华
网站建设 2026/4/27 12:50:54

BetterNCM安装器完整指南:一键升级你的音乐体验

BetterNCM安装器完整指南&#xff1a;一键升级你的音乐体验 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐的功能限制而烦恼吗&#xff1f;BetterNCM安装器为你提供了…

作者头像 李华