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

【组合递归】【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); // 回溯}}
}       

相关文章:

  • Android开发技术总结,附项目源码
  • 【Golang】介绍
  • 微服务中的Feign:优雅实现远程调用的秘密武器(一)
  • 麒麟KYLINSOS服务器操作系统SP3安装
  • Java8的Stream执行机制
  • 前端面试练习24.3.5
  • FPGA-VGA成像原理与时序
  • Redis缓存【重点】
  • Kubernetes/k8s的核心概念
  • 蓝桥杯刷题--python-16
  • el-select 选中之后所有颜色变蓝了
  • STM32CubeIDE基础学习-新建STM32CubeIDE基础工程
  • qt QRadioButton 及QButtonGroup 使用
  • 事务处理
  • sqoop-import 详解
  • 【RocksDB】TransactionDB源码分析
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Angular4 模板式表单用法以及验证
  • js面向对象
  • vue脚手架vue-cli
  • 阿里云购买磁盘后挂载
  • 基于web的全景—— Pannellum小试
  • ------- 计算机网络基础
  • 技术胖1-4季视频复习— (看视频笔记)
  • 解决iview多表头动态更改列元素发生的错误
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 突破自己的技术思维
  • 应用生命周期终极 DevOps 工具包
  • 硬币翻转问题,区间操作
  • 用Canvas画一棵二叉树
  • 走向全栈之MongoDB的使用
  • #pragma multi_compile #pragma shader_feature
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (Java数据结构)ArrayList
  • (zhuan) 一些RL的文献(及笔记)
  • (转)fock函数详解
  • (转)一些感悟
  • (转载)虚函数剖析
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net 反编译_.net反编译的相关问题
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET的数据绑定
  • /etc/skel 目录作用
  • @ModelAttribute注解使用
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • [100天算法】-不同路径 III(day 73)
  • [20150707]外部表与rowid.txt
  • [BZOJ 3680]吊打XXX(模拟退火)
  • [C#]猫叫人醒老鼠跑 C#的委托及事件
  • [CareerCup] 14.5 Object Reflection 对象反射
  • [ES-5.6.12] x-pack ssl