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

力扣17(电话号码中的字符组合)

题目表述

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

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

 示例1

输入:digits = "23"
输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]

示例2

输入:digits = ""
输出:[]

 

解题思路

利用 dfs思想

 

解题过程

 

class Solution {
public://将电话按键 对应的字符串一一映射出来string strA[10] = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};void Combination(string digits,int level,string Combinstr, vector<string>& v){ //递归返回的条件,层数完成后 返回if(level == digits.size()){v.push_back(Combinstr);return ;}int num = digits[level] - '0';string str = strA[num];//去映射关系中取出 对应字符串for(size_t i = 0;i<str.size();i++){Combination(digits,level+1,Combinstr + str[i],v);}}vector<string> letterCombinations(string digits) {//定义一个 接收字符串的 vector       vector<string> v;if(digits.empty())  return v;Combination(digits,0,"",v);return v;}
};

 递归演示

 

 

http://www.lryc.cn/news/115912.html

相关文章:

  • vue+element 下载压缩包和导出
  • 构建Docker容器监控系统 (1)(Cadvisor +InfluxDB+Grafana)
  • hive编译报错整理
  • centos磁盘爆满可以清理mysql-bin.000011吗
  • SSM个人博客项目
  • vue插槽是什么?如何使用?
  • yum常用操作命令
  • .Net C# 免费PDF合成软件
  • JAVA集合框架 一:Collection(LIst,Set)和Iterator(迭代器)
  • python ffmpeg合并ts文件
  • c++map和set剖析
  • kubernetes configmap 的data中的文件内容格式错乱
  • A TupleBackedMap cannot be modified Mybatis分页,使用List<Map>接参,无法修改map的解决方案
  • Leetcode-每日一题【剑指 Offer 13. 机器人的运动范围】
  • WEB集群——负载均衡集群
  • ubuntu 20.0.4 搭建nvidia 显卡环境
  • Windows环境下通过 系统定时 执行脚本方式 压缩并备份文件夹 到其他数据盘
  • C++系列二:STL教程-常用算法
  • 【css】渐变
  • idea打开多个项目需要开多个窗口(恢复询问弹窗)
  • 篇十三:策略模式:选择不同算法
  • Centos7.6 安装mysql过程全记录
  • Java中的Guava是什么?
  • vue.js兄弟组件方法调用b组件调用a组件方法
  • 【Kubernetes】二进制搭建
  • 【MFC】08.MFC消息,自定义消息,常用控件(MFC菜单创建大总结),工具栏,状态栏-笔记
  • Clickhouse 数据存储
  • c语言每日一练(3)
  • java基础-Stream(流)、File(文件)和IO
  • el-table实现指定列合并