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

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

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

  • 题目
  • 思路
  • 代码

题目

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

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

思路

在遇到需要我们得到所有的组合所有的方案这类话的时候我们自然而然就能想到使用回溯的办法,这道题也不例外。那么想要使用回溯我们首先要知道回溯的结束条件是什么?参数digits是一个字符串里面存储着一串数字我们需要得到这一串数字在电话上所能代表的所有字母组合那么回溯的结束条件就很好判断了:字符串的长度。只要我们的字符串长度等于参数digits的长度我们就可以结束这一轮了也就是得到一种结果。其次这道题我们还需要完成数字和所代表的字符串的映射,因为一个数字所代表的字母不止有一个所以我们需要完成他们俩的映射,这个也很简单使用哈希表就可以了。这两个问题解决了这道题也就迎刃而解了。

代码

class Solution {
public:void BackCall(vector<string>& res, unordered_map<char, string>& um,string& digits, int index, string tmp) {if (index == digits.size()) {res.push_back(tmp);}//得到数字所代表的字符串string chars = um[digits[index]];for (auto& ch : chars) {tmp.push_back(ch);BackCall(res, um, digits, index + 1, tmp);tmp.pop_back();}}vector<string> letterCombinations(string digits) {// 经典的回溯问题vector<string> res;if (digits.size() == 0) {return res;}string tmp;unordered_map<char, string> um{{'2', "abc"}, {'3', "def"},  {'4', "ghi"}, {'5', "jkl"},{'6', "mno"}, {'7', "pqrs"}, {'8', "tuv"}, {'9', "wxyz"}};BackCall(res, um, digits, 0, tmp);return res;}
};
http://www.lryc.cn/news/602576.html

相关文章:

  • 设计模式(二十四)行为型:访问者模式详解
  • ADB+Python控制(有线/无线) Scrcpy+按键映射(推荐)
  • 【学习笔记】AD7708/18(1)-理解官网的参考代码
  • MacBook IOS操作系统格式化U盘FAT32
  • 【深度解析】R语言与作物模型(以DSSAT模型为例)融合应用
  • 分布式微服务--核心组件与架构关系(一)
  • R语言简介(附电子书资料)
  • Leetcode_349.两个数组的交集
  • JavaScript手录09-内置对象【String对象】
  • 6.2 总线事务和定时 (答案见原书 P295)
  • 基于Flask的智能停车场管理系统开发实践
  • C语言:20250728学习(指针)
  • 使用node-cron实现Node.js定时任务
  • Javaweb Day3
  • 主要分布于内侧内嗅皮层的层Ⅲ的网格-速度联合细胞(Grid × Speed Conjunctive Cells)对NLP中的深层语义分析的积极影响和启示
  • 学习人工智能所需知识体系及路径详解
  • BUUCTF-MISC-[HBNIS2018]caesar1
  • 科技风杂志《科技风》杂志社科技风编辑部2025年第19期目录
  • 《Ai智能眼镜的市场定义及用户分析》- 深圳市天趣星空科技有限公司 CEO 王洁
  • 【7.26-7.28胜算云AI日报:首个开源3D世界生成模型腾讯混元、微软预示 8 月 GPT-5 发布、Nemotron推理、商汤悟能、DM夺金】
  • Python 实现多服务器并发启动 SDK-C Master 与 Viewer 的分布式方案
  • 科技赋能成长 脑力启迪未来
  • windows内核研究(异常-CPU异常记录)
  • 计算机视觉---Halcon概览
  • 暑期自学嵌入式——Day10(C语言阶段)
  • 生成器和迭代器的区别
  • 【65 Pandas+Pyecharts | 山东省2025年高考志愿投档数据分析可视化】
  • MCP架构:模型上下文协议的范式革命与工程实践
  • JSBridge原理与实现全解析
  • 嵌入式单片机中位带操作控制与实现