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

leetcode17.电话号码的数字组合(题目详解)

题目链接

思路:

先考虑只输入一个数字的情况,例如digits=“2”,只需遍历一遍“abc“即可。

for i in "abc"{
//伪代码push_back(i);
}

若digits=“23”,就要经历两次遍历。

//伪代码
for i in "abc"{for j in "def"{push_back(ij);}
}

不难发现,digits有几个数字,就有几层循环层数,但是我们的代码的循环层数又不能改变,怎么办呢?这里就可以用递归来解决,递归的深度就是digits的数字个数,递归内部再用循环来遍历每个数字对应映射的所有字母。

如下图所示:digits="234"

完整代码如下:

class Solution {
public:void sstr(string& digits, int i, vector<string>& ans, string& res) {//int i 记录的是当前的递归深度if (i == digits.size()) return;//递归结束条件static vector<string>v1 = { " ","*","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz" };for (int j = 0; j < v1[digits[i] - '0'].size(); ++j) {//循环来遍历每个数字对应映射的所有字母。res[i] = v1[digits[i] - '0'][j];sstr(digits, i + 1, ans, res);if (i == digits.size() - 1) {//每次递归到最底层,将res存到vector里ans.push_back(res);}}}vector<string> letterCombinations(string digits) {vector<string>  ans;string res(digits.size(), 'x');
//先将res的空间预留出来,随便用一个字母填充,反正后面都会被覆盖掉,这里先用‘x’填充//res用来临时存每次的字母组合sstr(digits, 0, ans, res);return ans;}
};

那么本期内容就到这里了,觉得有收获的同学们可以给个点赞、关注、收藏哦,谢谢大家。

http://www.dtcms.com/a/573210.html

相关文章:

  • C# WebAPI Swagger如何显示接口注释
  • 三网站建设装修公司做网站有用吗
  • 怎么做谷歌收录的网站个人接广告的平台
  • Unity坐标转换指南 - 3D与屏幕UI坐标互转
  • Admin界面优化:移除可用区字段以简化显示
  • Java 位运算算法题目练习
  • 企业定制手机安全加固:数据加密、权限管控与防泄密功能解析
  • opencv 计算面积、周长
  • 静态网站设计方案二维码设计软件
  • 工装设计案例网站注册公司注册企业注册
  • 从 .wat 到 AOT:WebAssembly 开发入门全指南(WABT + WasmEdge 实战)
  • Vue2-父组件与子组件参数互传
  • 前端学习之JavaScript
  • CrewCut 项目 Alpha 阶段计划与分工
  • 湖南首条免费高速轨迹呈现:借助 Leaflet -Trackplayer 实现 WebGIS 可视化
  • NewStarCTF2025-Week5-Web
  • 0基础学前端:100天拿offer实战课(第4天)—— Flex布局实战:10分钟搞定网页“排版难题”
  • 苏州专业做网站的公司有哪些网站空间 控制面板
  • “AI+XR”赋能智慧研创中心:告别AI焦虑,重塑教师未来
  • 知识就是力量——气体检测传感器
  • Arbess零基础学习 - 使用Arbess+GitLab实现Python项目构建/主机部署
  • 建设银行手机银行下载官方网站下载wordpress资源搜索插件
  • 替代 TDesign Dialog:用 div 实现可拖拽、遮罩屏蔽的对话框
  • 【雪花算法与主键自增:场景适配指南,从分布式特性到业务需求】
  • 在Linux上实现Modbus RTU通信:一个轻量级C++解决方案
  • 【Go】P19 Go语言并发编程核心(三):从 Channel 安全到互斥锁
  • Node.js 环境变量配置全攻略
  • 基于 Kickstart 的 Linux OS CICD 部署(webhook)
  • 哪家网络公司做网站好全国免费信息发布平台
  • 《C++ 搜索二叉树》深入理解 C++ 搜索二叉树:特性、实现与应用