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

力扣回溯算法-电话号码的字母组合

力扣第17题,电话号码的字母组合

题目

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。

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

在这里插入图片描述
.电话号码的字母组合

示例:

输入:“23”
输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].
说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序

图解

在这里插入图片描述

public class Solution{StringBuilder path = new StringBuilder();List<String> result = new ArrayList();List<String> datas = Stream.of("","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz").collect(Collectors.toList());/*** 回溯算法*/public void backTracking(char[] digitsArr,int startIndex){// 1.终止条件if(startIndex == digitsArr.length){result.add(path.toString());return;}// 当前递归层-位置(startIndex)所对应的数字int targetNumber = digitsArr[startIndex] - '0';// 获取当前递归层所对应的字符串String data = datas.get(targetNumber);//for循环,每一层递归的循环for(int i = 0 ; i < data.length();i++){path.append(data.charAt(i));//递归backTracking(digitsArr,startIndex+1);//回溯path.deleteCharAt(path.length() - 1);}}public List<String> solution(String digits){if(digits == null || digits.equals("")){return Collections.EMPTY_LIST;}backTracking(digits.toCharArray(),0);return result;}
}
http://www.lryc.cn/news/271129.html

相关文章:

  • 运维面试笔试题
  • Oracle database 静默安装 oracle12c 一键安装 12.1.0.2
  • 【Java EE初阶三 】线程的状态与安全(上)
  • 英飞凌TC3xx之一起认识GTM系列(五)如何实现GTM与DSADC关联的配置
  • 小兔鲜儿 uniapp - 购物车模块
  • Python使用PyMySql增删改查Mysql数据库
  • 前端实现websocket类封装
  • 鸿蒙开发中的一些小问题
  • OpenCV-12绘制图像
  • “2023年的技术发展与个人成长:回顾与展望“
  • 算法逆袭之路(1)
  • 2023.12.31每日一题
  • Flink实时电商数仓(八)
  • Python Pymysql实现数据存储
  • 软件测试/测试开发丨Python 常用第三方库 pymysql
  • 第二节 linux操作系统安装与配置
  • ChatGPT 对SEO的影响
  • 光伏逆变器MPPT的作用、原理及算法
  • 一文详解pyspark常用算子与API
  • 使用Rollup 搭建开发环境
  • ubuntu:beyond compare 4 This license key has been revoked 解决办法
  • 华为交换机生成树STP配置案例
  • Avalonia框架下实现热更新
  • 适用于各种危险区域的火焰识别摄像机,实时监测、火灾预防、安全监控,为安全保驾护航
  • react-router-dom5升级到6
  • Linux调试工具—gdb
  • SpringCloud(H版alibaba)框架开发教程之nacos做配置中心——附源码(2)
  • 网络摄像头爆破实战
  • 亚信安慧AntDB数据并行加载工具的实现(二)
  • 【Java进阶篇】JDK新版本中的新特性都有哪些