当前位置: 首页> 游戏> 手游 > 设计科技公司官网_定制网站建设加盟代理_蜗牛精灵seo_个人能接广告联盟吗

设计科技公司官网_定制网站建设加盟代理_蜗牛精灵seo_个人能接广告联盟吗

时间:2025/7/11 14:16:50来源:https://blog.csdn.net/2401_88859777/article/details/144801932 浏览次数:0次
设计科技公司官网_定制网站建设加盟代理_蜗牛精灵seo_个人能接广告联盟吗

问题背景

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

数据约束

  • 0 ≤ d i g i t s . l e n g t h ≤ 4 0 \le digits.length \le 4 0digits.length4
  • d i g i t s [ i ] digits[i] digits[i] 是字符 2 2 2 和字符 9 9 9 之间的一个数字

解题过程

自己考虑的时候老想着用 S t r i n g B u i l d e r StringBuilder StringBuilder,实际做算法题的过程中,用字符数组来处理字符串的情况要更常见一些。
这题能够直接在对应位置上填写新字符进行覆盖,所以用选择哪个答案的思路更直接。

具体实现

class Solution {private static final String[] MAP = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};public List<String> letterCombinations(String digits) {int n = digits.length();if(n == 0) {return List.of();}List<String> res = new ArrayList<>();char[] path = new char[n];dfs(0, res, path, digits);return res;}private void dfs(int i, List<String> res, char[] path, String digits) {if(i == digits.length()) {res.add(new String(path));return;}for(char c : MAP[digits.charAt(i) - '0'].toCharArray()) {path[i] = c;dfs(i + 1, res, path, digits);}}
}
关键字:设计科技公司官网_定制网站建设加盟代理_蜗牛精灵seo_个人能接广告联盟吗

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: