【组合递归回溯】【StringBuilder】Leetcode 17. 电话号码的字母组合

【组合递归回溯】【StringBuilde】Leetcode 17. 电话号码的字母组合

  • StringBulider常用方法!!!!!!!!!!!!!!
    • 17. 电话号码的字母组合 解法 组合问题递归回溯

for循环横向遍历,递归纵向遍历,回溯不断调整结果集
for循环横向遍历,递归纵向遍历,回溯不断调整结果集
for循环横向遍历,递归纵向遍历,回溯不断调整结果集
for循环横向遍历,递归纵向遍历,回溯不断调整结果集
for循环横向遍历,递归纵向遍历,回溯不断调整结果集

---------------🎈🎈题目链接 17. 电话号码的字母组合🎈🎈-------------------

StringBulider常用方法!!!!!!!!!!!!!!

在这里插入图片描述
在这里插入图片描述

创建StringBuilder:StringBuilder sb = new StringBuilder();
添加元素:sb.append( )
获取字符串的长度:sb.length()
删除最后一个字符:sb.setLength(sb.length()-1)
获取指定位置的字符sb.charAt()
转化为字符串:sb.toString()


17. 电话号码的字母组合 解法 组合问题递归回溯

在这里插入图片描述

在这里插入图片描述

关键点:
采用StringBuilder对字符串进行动态操作
创建一个数组存储对应数字的字母即可!!! 【采用了字符串数组】
获取“23”中的“2” 并且在上面说的字符串数组中得到“abc”: 方法如下:

  int nowindex = digits.charAt(count) - '0';   // 根据字符串数字->对应的数值String now = save[nowindex];  // 根据字符串数字对应的数值,取出来当前数字对应save里的字符串

使用count 来代表每次递归的时候该处理digits的第几个字符数字

class Solution {List<String> result = new ArrayList<>();StringBuilder sb = new StringBuilder();  // 采用StringBuilder对字符串进行动态操作public List<String> letterCombinations(String digits) {if (digits == null || digits.length() == 0) {return result;}// 创建一个数组存储对应数字的字母即可!!!!!!  【采用了字符串数组】String[] save = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};backtracking(save,digits,0);return result;}public void backtracking(String[] save, String digits, int count){ // 回溯函数 字符数字对应表save 数字串digits 数字串中第几个数字count// 终止条件if(count == digits.length()){result.add(sb.toString());return;}// 递归回溯int nowindex = digits.charAt(count) - '0';   // 根据字符串数字->对应的数值String now = save[nowindex];  // 根据字符串数字对应的数值,取出来当前数字对应save里的字符串for(int i = 0; i < now.length(); i++){ // for循环遍历当前数字对应字符串的每一个字符sb.append(now.charAt(i));   backtracking(save, digits, count+1);  // 递归sb.setLength(sb.length()-1); // 回溯}}
}       

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/529532.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python3虚拟环境之virtualenv

virtualenv 在开发Python应用程序的时候&#xff0c;系统安装的Python3只有一个版本&#xff1a;3.7。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果要同时开发多个应用程序&#xff0c;这些应用程序都会共用一个Python&#xff0c;就是安装在系统的Pyt…

九州金榜|孩子厌学怎么引导?

孩子在成长的过程中&#xff0c;尤其在上学的时候&#xff0c;孩子出现厌学情绪这是非常常见的事情&#xff0c;当孩子出现厌学情绪时&#xff0c;家长要采取什么样的方法才能帮助孩子找回学习兴趣和动力呢&#xff1f;九州金榜家庭教育给出建议&#xff0c;首先父母不应该过于…

ORACLE RAC数据库压力测试(swingbench)

------------------------------------------------------------------- 欢迎关注作者 墨天伦:潇湘秦的个人主页 - 墨天轮 CSDN:潇湘秦-CSDN博客 公众号:潇湘秦的DBA之路 ------------------------------------------------------------------- 为了验证跑在虚拟机上的or…

Day31-计算机基础1

Day31-计算机基础1 1. 网络基础介绍1.1 什么是网络&#xff1f;1.2 为什么要有网络&#xff1f;1.3 运维人员需要学习哪些网络知识&#xff1f;1.4 按作用范围对网络分类 2.网络设备知识2.1 网络传输介质及传输信号2.2 网卡设备2.3 中继器&#xff08;RP repeater&#xff09;2…

OD_2024_C卷_200分_9、园区参观路径【JAVA】【动态规划】

package odjava;import java.util.Scanner;public class 九_园区参观路径 {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt(); // 长 -> 行数int m sc.nextInt(); // 宽 -> 列数int[][] matrix new int[n][m]; // 地图…

Android Jetpack Compose基础之生命周期-重组

Android Jetpack Compose基础之生命周期-重组 Composable生命周期简介重组Composable如何确定重组的最小范围&#xff1f;示例为什么结果是这样呢&#xff1f;其底层原理&#xff1f;日志顺序分析如果我们将Column替换为非内联函数CardstateChangeComposable内部增加如下代码点…

VideoDubber时长可控的视频配音方法

本次分享由中国人民大学、微软亚洲研究院联合投稿于AAAI 2023的一篇专门为视频配音任务定制的机器翻译的工作《VideoDubber: Machine Translation with Speech-Aware Length Control for Video Dubbing》。这个工作将电影或电视节目中的原始语音翻译成目标语言。 论文地址&…

Python 导入Excel三维坐标数据 生成三维曲面地形图(面) 1、线条折线曲面

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 代码: import pandas as pd import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D from matplotlib.colors import ListedColo…

阿里云-零基础入门推荐系统 【Baseline】

文章目录 赛题介绍评价方式理解赛题理解代码实战导包df节省内存函数读取采样或全量数获取 用户 - 文章 - 点击时间字典获取点击最多的topk个文章itemcf的物品相似度计算itemcf 的文章推荐给每个用户根据物品的协同过滤推荐文章召回字典转换成df生成提交文件获取测试集从所有的召…

【力扣100】【好题】322.零钱兑换 || 01背包完全背包

添加链接描述 思路&#xff1a; dp[j]数组表示的是在金额达到 j 的时候所需要的最小硬币数金额&#xff1a;背包容量&#xff0c;每个硬币的个数都为1&#xff1a;背包中物品的价值&#xff0c;硬币面额&#xff1a;物品重量dp[j]min(dp[j],dp[j-coin]1) class Solution:def …

Jenkins Pipeline实现Golang项目的CI/CD

Jenkins Pipeline实现Golang项目的CI/CD 背景 最近新增了一个Golang实现的项目&#xff0c;需要接入到现有的流水线架构中。 流程图 这边流程和之前我写过的一篇《基于Jenkins实现的CI/CD方案》差不多&#xff0c;不一样的是构建现在是手动触发的&#xff0c;没有配置webho…

批量合并:一键操作,轻松将多个TXT文本合并为一个

在信息爆炸的时代&#xff0c;我们每天都面临着处理大量文本信息的挑战。无论是学习、工作还是生活中&#xff0c;TXT文件作为最基础的文本格式&#xff0c;承载着大量的重要信息。然而&#xff0c;传统的文本管理方式往往效率低下&#xff0c;难以满足我们的实际需求。那么&am…