当前位置:首页 » 《关于电脑》 » 正文

【leetcode C++】电话号码的字母组合

26 人参与  2024年03月19日 19:17  分类 : 《关于电脑》  评论

点击全文阅读


17. 电话号码的字母组合

题目

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

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

 

 

题目链接 

. - 力扣(LeetCode)

文字 和 画图 分析

这道题明显是需要互相匹配,如 字符串 “23”, 对应 “abc” 和 “def”。

这个时候我们就想到跟循环有关,但是我们很难控制出 for循环的个数 ,所以最好的办法就是采用递归

参数我们需要:digits (含 2-9 的字符串),di(表示层数) ,

tmp (每一层对应的字符串),t (接收每一次递归结束时的字符串)

注意事项:

tmp 不要传引用 ,便于递归结束时可以对应到上一层的字符串t 需要传引用 ,我们需要每一次递归结束都保留相应的字符串递归尽量参数不要使用 +=,否则递归结束,回到上一层,参数存储的值不会变

举例(digits = "23"):

递归顺序:

代码 

class Solution {private:string letter[10] = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};public:    void _letterCombinations(string& digits,string tmp,int di,vector<string>& t)    {        if(di == digits.size())        {            t.push_back(tmp);            return;        }        int n = digits[di] - '0';        string s = letter[n];        for(auto i : s)        {            _letterCombinations(digits,tmp + i,di + 1,t);        }    }    vector<string> letterCombinations(string digits)     {        vector<string> t;        if(digits.size() == 0)        {            return t;        }        _letterCombinations(digits,"",0, t);        return t;    }};


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/81917.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 阮彦初的春尽人不归后续在线阮彦初骆澜月全书在线
  • 掉马后,前任跪求我的特种兵司机放过他超长版_苏振邦陈明苏微微爆火全网_小说后续在线阅读_无删减免费完结_
  • 比赛那天,他为青梅将我绑架抽血无广告_贺擎盛夏小姐节选_小说后续在线阅读_无删减免费完结_
  • 春尽人不归结局阮彦初骆澜月完本_春尽人不归结局(阮彦初骆澜月)
  • 独家姜甜甜无删减(农家福星:捡来的奶团旺全家)(姜甜甜)TXT免费版阅读
  • 最后一页没说再见晋江金榜_时砚江疏桐桐桐无错版_小说后续在线阅读_无删减免费完结_
  • 体检前,我放任所有体育生误食兴奋剂小众冷门_赵津川沈梦青梅后续+番外_小说后续在线阅读_无删减免费完结_
  • 热门章节_笔趣阁(前路漫漫,承担了无数梦想)前路漫漫,承担了无数梦想小说(谢鹤书萧清禾)章节在线阅读
  • 农家福星:捡来的奶团旺全家姜甜甜小说无删减阅读无干扰(姜甜甜)番外+续集
  • 宋颜泽江晚吟续集(宋颜泽江晚吟)终极反转(雾隐繁花情已逝)全篇一口气阅读
  • 女儿玩了一百次云霄飞车,老公和童颜芭比coser嗨爆鬼屋小众冷门_老公云霄飞车祁晓筱快手热门_小说后续在线阅读_无删减免费完结_
  • 在品茶大会承认我是废物后,假千金却急了最新章节_白露露露露付凌逸校园甜文_小说后续在线阅读_无删减免费完结_

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1