当前位置: 首页 > news >正文

力扣-17.电话号码的字母组合

题目描述

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

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
在这里插入图片描述

class Solution {List<String> res = new ArrayList<>();String[] letterMap = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};StringBuffer path = new StringBuffer();void backtracking(String digits, int index) { //如digits是"23",index是0if (digits.length() == path.length()) {res.add(path.toString());return;}int num = digits.charAt(index) - '0';String str = letterMap[num];	//如str是"abc"for (int i = 0; i < str.length(); i++) {path.append(str.charAt(i));backtracking(digits, index + 1);path.delete(path.length()-1, path.length());}}public List<String> letterCombinations(String digits) {if(digits.length()==0)return res;backtracking(digits, 0);return res;}
}

小结:中断了好多天回归刷题,这道题需要注意的是Java的String和数组的API与C++有很多不同,比如"23"找到2对应的"abc"和3对应的"def",之后套用回溯的模板,注意index是什么,i是什么,不要弄乱。

http://www.lqws.cn/news/208729.html

相关文章:

  • DL00335-基于深度学习YOLOv11的煤矸石检测含完整数据集
  • Qt Test功能及架构
  • 分贝计的校准方法和频率介绍
  • Protobuf 中的类型查找规则
  • 每日算法刷题Day25 6.7:leetcode二分答案3道题,用时1h40min(遇到两道动态规划和贪心时间较长)
  • 2025年燃气从业人员考试题库及答案
  • C++修炼:C++11(二)
  • Python 数据类型转换、编码处理与文件操作实战指南
  • Spring AI 核心工作流
  • 从零开始开发纯血鸿蒙应用之网络检测
  • Python异步编程-协程
  • 【R语言编程——数据调用】
  • Modbus RTU/TCP 协议详解与Spring Boot集成指南
  • Spring Boot
  • 13-Oracle 23ai Vector Search VECTOR数据类型和实操
  • 34、协程
  • 机器学习的数学基础:神经网络
  • Redis 高频知识点及解析
  • Vue 项目实战:三种方式实现列表→详情页表单数据保留与恢复
  • 蓝牙音乐(A2DP)音频延迟的一些感想跟分析,让你对A2DP体验更佳深入
  • c++算法学习6——记忆化搜索
  • Ubuntu20.04基础配置安装——系统安装(一)
  • 安全访问家中 Linux 服务器的远程方案 —— 专为单用户场景设计
  • 【Java开发日记】说一说 SpringBoot 中 CommandLineRunner
  • string类型
  • 牛客练习赛140
  • 【Python】常用数据结构(列表、字符串、集合、字典以及元组)讲解(超详细)
  • JDK17 Http Request 异步处理 源码刨析
  • day 47
  • 快速上手 Metabase:从安装到高级功能实战