码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 力扣:17-电话号码的字母组合


    题目描述

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

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

     

    示例 1:

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


    示例 2:

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


    示例 3:

    输入:digits = "2"
    输出:["a","b","c"]
     

    提示:

    0 <= digits.length <= 4
    digits[i] 是范围 ['2', '9'] 的一个数字。

    来源:力扣(LeetCode)

    解题思路

    这道题我首先就想到了DFS, 思路就是先获得题目所给字符串的长度n,这个长度就是我们深搜的层数,我们从第0层搜到第n层也就搜完了。我们怎么保存字符串呢?建立一个vector和一个字符串,向下搜之前把当前字符加入到字符串中,搜完把这个字符串加入到vector当中,同时让字符出去,这样就保存了字符串。这道题难度也不是很大,会运用深搜就行

    代码实现

    1. class Solution {
    2. vectorv={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
    3. public:
    4. vector letterCombinations(string digits) {
    5. int n=digits.size();//获得题目所给字符串的长度
    6. vectorans;//最后返回的数组
    7. if(n==0)
    8. return ans;
    9. string p;
    10. dfs(0,n,ans,p,digits);//深搜
    11. return ans;
    12. }
    13. void dfs(int u,int n,vector&ans,string &p,string digit)
    14. {
    15. if(u>=n)//结束条件
    16. {
    17. ans.push_back(p);
    18. return;
    19. }
    20. string t=v[digit[u]-'0'];
    21. for(int i=0;isize();i++)
    22. {
    23. p.push_back(t[i]);
    24. dfs(u+1,n,ans,p,digit);
    25. p.pop_back();
    26. }
    27. }
    28. };
  • 相关阅读:
    一个程序员的成长之路
    Java应用开发各种奇葩的问题
    一文理清JVM结构
    MySQL主从复制的三种复制模式
    跨交换机打通二层广播域不通问题解决过程
    太简单了,一文彻底搞懂Jenkins的用法
    走好这六步,成为网络安全工程师一路畅通无阻
    【2022】【论文笔记】太赫兹波段纳米颗粒表面增强拉曼——
    事件研究法及其应用(1)
    这才是使用ps命令的正确姿势
  • 原文地址:https://blog.csdn.net/qq_52905520/article/details/126601811
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号