与子集70?类似,子集每次两个分支,本题每次k个分支,子集是第一次不push第二次push元素,本题是每次都push元素,因此,本题答案的长度都为k,子集题目为各种组合;

/**
res,level,nums,i,dict
**/ class Solution {
public:
vector<string> letterCombinations(string digits) {
len=digits.length();
if(len==) return {};
//字母转化为数字
for(int i=;i<len;i++){
int num=digits[i]-'';
nums.push_back(num);
}
vector<string> res;
string level;
dfs(,res,level);
return res;
}
//建立递归函数,从第一个号码开始递归,到最后一个号码结束;
void dfs(int i,vector<string>&res,string& level){
//递归边界
if(i>=len){
res.push_back(level);return;
}
//递归表达式,选择第i个元素
string cur_str=dict[nums[i]];
for(int k=;k<cur_str.length();k++){
level.push_back(cur_str[k]);
dfs(i+,res,level);
level.pop_back();
}
} private:
int len;
vector<int> nums;
vector<string> dict={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
};

leetcode 17电话号码的字母组合的更多相关文章

  1. Java实现 LeetCode 17 电话号码的字母组合

    17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23& ...

  2. [LeetCode] 17. 电话号码的字母组合 ☆☆☆(回溯) ###

    描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23"输出:[&q ...

  3. [LeetCode] 17. 电话号码的字母组合(回溯)

    题目 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[& ...

  4. [LeetCode] 17. 电话号码的字母组合

    题目描述:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/ 题目描述: 给定一个仅包含数字 2-9 的字符 ...

  5. LeetCode 17. 电话号码的字母组合(Letter Combinations of a Phone Number)

    题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出: ...

  6. Leetcode之回溯法专题-17. 电话号码的字母组合(Letter Combinations of a Phone Number)

    [Leetcode]17. 电话号码的字母组合(Letter Combinations of a Phone Number) 题目描述: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组 ...

  7. leetcode(js)算法之17电话号码的字母组合

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母 示例: 输入:"23" 输出:[" ...

  8. Leetcode题库——17.电话号码的字母组合

    @author: ZZQ @software: PyCharm @file: letterCombinations.py @time: 2018/10/18 18:33 要求:给定一个仅包含数字 2- ...

  9. leetcode题目17.电话号码的字母组合(中等)

    题目描述: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23"输出: ...

随机推荐

  1. Java 从无类型参数Map到有类型参数Map传值的一个问题

    import java.util.HashMap; import java.util.Map; public class MapTest { public static void main(Strin ...

  2. laravel相关备忘

    此次笔记采用的是laravel5.1版本 1.从gitcheckout下来后,首先在env修改数据库相关 2.默认laravel没有model目录,默认有一个model文件User.php放在app里 ...

  3. linux命令详解——umask

    当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情.umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限& ...

  4. require是什么?能做什么

    本来是做后端的,拿到一个偏前端的项目,js文件里好多define和require,看的有点蒙,只能自己动手查找资源了,了解这到底是个什么,它能做什么? 1.什么是require.js? 1):requ ...

  5. Angular4.x+Ionic3 踩坑之路之 Ionic3.x pop反向传值

    1.Ionic3.x 页面正向传值 关于正向传值,上一篇文章里面有讲,具体可以看这里https://segmentfault.com/a/11... 2.Ionic3.x 页面 pop反向传值,主要有 ...

  6. django 路由层(反向解析)03

    目录 ORM表关系建立 Django请求生命周期流程图 urls.py 路由层 无名分组 有名分组 反向解析 无名分组的反向解析 有名分组的反向解析 以编辑功能为例 路由分发 名称空间 伪静态 虚拟环 ...

  7. PyCharm控制台输出乱码

    IDE Encoding设置为GBK后,在运行程序,中文就显示正常了 据说是因为ide编码不能设置为utf-8,需要设置为gdb,因为这个控制台的代码需要和windows保持一致. 另外还有一个问题就 ...

  8. [深度学习] pytorch学习笔记(4)(Module类、实现Flatten类、Module类作用、数据增强)

    一.继承nn.Module类并自定义层 我们要利用pytorch提供的很多便利的方法,则需要将很多自定义操作封装成nn.Module类. 首先,简单实现一个Mylinear类: from torch ...

  9. jquery滚动到指定位置

    利用jquery实现页面可视区滚动到指定位置.直接上代码 //滚动到指定位置 function scrollTo(element,speed) { if(!speed){ speed = 300; } ...

  10. UVA 10491 Cows and Cars (全概率公式)

    #include<bits/stdc++.h> #include<stdio.h> #include<iostream> #include<cmath> ...