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

网站推广免费推广网站结构设计网站

网站推广免费推广网站,结构设计网站,深圳网络品牌,网店营销策划书一:题目 、 二:思路 ①:用递归解决,因为这就是一个多叉树的深度优先遍历 ②:递归函数的参数: 参数1:digits,也就是"23"这种已知条件 参数2:一个整形叫作di…

一:题目

二:思路

①:用递归解决,因为这就是一个多叉树的深度优先遍历

②:递归函数的参数:

参数1:digits,也就是"23"这种已知条件

参数2:一个整形叫作di,用来表示digits的下标,以便获取每个电话号码对应的字符串

参数3:一个字符串cbstr,用来表示每次递归得到的字符串

参数4:题目返回的是一个vector<string>,也就是一个字符串数组,所以我们单次递归到终点得到的结果应该被push_back进这个数组中,所以参数还有一个vector<string>类型的对象

三:代码解析

 解释:

①:参数digits用引用传递,是单纯的省略拷贝,也可以不用

②:d1不能用引用传递和取地址传递,因为当递归返回时,需要撤销上一步的修改(即回溯)

③:cbstr也是和②一样,当递归返回时,需要撤销上一步的修改(即回溯),以便尝试其他可能的字母,

如果 cbstr 是引用传递:

        每次递归调用都会修改同一个 cbstr 对象。

        当递归返回时,cbstr 的状态已经被修改,无法正确回溯。

且cbstr 在函数中用+不能用+=,因为不能影响自身,当递归返回时,需要撤销上一步的修改(即回溯),以便尝试其他可能的字母,

④:v必须引用传递,因为该值从递归深回到递归浅层次的时候,依旧要保留上一次递归到最深处所push_back的字符串

如果 v 不使用引用传递:

        每次递归调用都会创建一个新的 v 副本。

        递归调用中对 v 的修改(例如 v.push_back(cbstr))只会作用于副本,而不会影响原始          的 v

        最终,原始的 v 仍然是空的,无法得到正确的结果。

四:源码

class Solution {
public://一个字符串数组来让电话号码作为下标精准对应字符串   两个空字符串让2对准了"abc"string Num_To_Str[10] = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};void Combine(string& digits,int di,string cbstr,vector<string>& v){if(di == digits.size())//表明digits这个数组已经被遍历完成,目前是超过的一次,{                      //也就是说:该次递归已达最深,得到一个完全的字符串,将其push_back进v中v.push_back(cbstr);return ;}int i = digits[di]-'0';//获取digits这个字符串里面的字符 -'0'转换为int值,得到单个电话号码string  str = Num_To_Str[i];//将电话号码作为Num_To_Str下标得到对应的字符串for(int j=0; j<str.size(); j++)//电话号码对应的字符串会在整个递归的过程中逐渐被全部遍历{Combine(digits,di+1,cbstr+str[j],v);}   //              下标+1   cbstr字符串获取到了每次该获取到的一个字符}vector<string> letterCombinations(string digits) {vector<string> v;//v是最后的返回值 该字符数组存储了类似["ad","ae","af","bd","be","bf","cd","ce","cf"]的值if(digits.empty())//如果电话号码都没有return v;则返回vCombine(digits,0,"",v);//第一次调用递归函数return v;}
};


文章转载自:

http://XWPCTQ5y.btLmb.cn
http://4nkNz8mg.btLmb.cn
http://3HmJzhgc.btLmb.cn
http://luZ9iiFZ.btLmb.cn
http://zC0303lW.btLmb.cn
http://fUaahHBU.btLmb.cn
http://VItAOlSs.btLmb.cn
http://PuyccNKs.btLmb.cn
http://cIf9Sc13.btLmb.cn
http://6q16YNII.btLmb.cn
http://X98qrRZx.btLmb.cn
http://ABrxnteO.btLmb.cn
http://flHOmzHo.btLmb.cn
http://giru8aCn.btLmb.cn
http://xEOUiQyL.btLmb.cn
http://Ltu3cXXE.btLmb.cn
http://tUpsJ1uQ.btLmb.cn
http://RDIhYaRZ.btLmb.cn
http://oXzUWtcT.btLmb.cn
http://fQlHn0uS.btLmb.cn
http://esRhnnGi.btLmb.cn
http://AojQT4dy.btLmb.cn
http://uTbzKmc1.btLmb.cn
http://Yt9dGcfk.btLmb.cn
http://mOK83CGX.btLmb.cn
http://ghs9etNR.btLmb.cn
http://OaLEoB0V.btLmb.cn
http://7IkzQzl3.btLmb.cn
http://M6C6cbHe.btLmb.cn
http://nAtjuo3Z.btLmb.cn
http://www.dtcms.com/wzjs/712838.html

相关文章:

  • 网站建设考试试题网络营销推广与策划第二版答案
  • 云南7省建设厅网站温州网站建设这个
  • 广州市南沙建设局网站微信营销软件有哪些
  • 课桌公司网站建设手机电商网站 模板
  • 门户网站html模板下载wordpress 不显示分页
  • 网站改版是什么惠阳区规划建设局网站
  • 佛山网站优化有哪些whcms wordpress
  • 常见的网站结构给公司起名字大全免费
  • 太原做微网站的公司苏州微网站制作
  • 保亭交通工程建设局网站网站建设面授班
  • 济南公司做网站做房产网站接不到电话
  • 好看的网站首页图片discuz企业网站模板
  • 城乡建设部网站海曙区建设局网站
  • app网站开发书籍下载网站建设小江
  • 短剧推广平台app网站运营和seo的区别
  • 建设工业网站花都网站开发
  • 最重要的网站竞价推广代运营企业
  • 做网站的原型 免费综合型电子商务平台有哪些
  • 做网站文件下载周到的网站建设推广
  • 建湖哪家专业做网站公司变更地址多少钱
  • 网站后台程序如何做wordpress 登陆失败
  • 怎么用7牛云做网站做网站需要的法律知识
  • 织梦购物网站整站源码企业建设网站的过程和预算表
  • 株洲网站制作与设计国际商务网站
  • 网站建设费用低的公司旅游资源网站建设的功能及内容
  • 网店网站技术方案做网站公司需要帮客户承担广告法吗
  • vi设计网站有哪些j网站开发的相关知识
  • 网站里面的超链接怎么做安庆市住房和城乡建设局网站
  • 网站备案核四川住房建设厅官方网站
  • 电子商务网站的类型中国建设银行个人查询