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

网站防黑客入侵做相关防御网站建设西班牙语

网站防黑客入侵做相关防御,网站建设西班牙语,移动网站套餐,王野虓目录 题目: 示例: 分析: 代码运行结果: 题目: 示例: 分析: 给我们字符串,让我们解码,那么该怎么解码呢,被括号【】包裹起来的字符串需要扩展成括号左边第…

目录

 

题目:

示例:

分析:

代码+运行结果:


题目:

示例:

分析:

给我们字符串,让我们解码,那么该怎么解码呢,被括号【】包裹起来的字符串需要扩展成括号左边第一个数字(可能不止一位数)倍,例如 3【a】需要变成 aaa。

我们可以发现,如果发现括号嵌套(括号里还有括号),那么我们应该先算最里面的括号,这样解码才是正确的,换一个说法,我们应该先解码左括号更后面出现的,这就算是先进后出,后进先出了,不难想到可以利用栈的特性来做。

先遍历字符串,我们直接将非右括号的字符全部入栈,直到遇到了右括号才开始解码。

遇到右括号之后一直取栈顶元素直到碰到左括号,这样我们就算是把需要扩展的字符串拿到手了。

接着我们需要拿到扩展字符串的次数,因为题目说扩展次数最多是300次,因此我们不能只取左括号左边的一位数字,而需要一直取数直到栈空或是碰到了非数字。

然后得到扩展的字符串和扩展次数以后,将扩展后的字符串再依次入栈。

如此循环,即可得到解码后的字符串了。

代码+运行结果:

class Solution {
public:string decodeString(string s) {vector<char>Stack;for(char &c:s){if(c==']'){ //如果碰到右括号,那么开始寻找是哪些字符串需要解码string tempstr="";while((*(Stack.end()-1))!='['){ //获取括号内的字符串tempstr=(*(Stack.end()-1))+tempstr; Stack.pop_back();}Stack.pop_back();   //将左括号[弹出int times=0;int beishu=0;   //获取重复次数while(!Stack.empty()&&isdigit(*(Stack.end()-1))){times+=(pow(10,beishu++)*(static_cast<int>((*(Stack.end()-1)-'0'))));Stack.pop_back();}  //开始解码字符串(重复字符串)for(int i=0;i<times;i++){for(char &t:tempstr){Stack.push_back(t);}}}else{  //除了右括号以外的其他符号都入栈Stack.push_back(c);}}string res="";//拼接最终结果for(char &c:Stack) res+=c;return res;}
};

http://www.yayakq.cn/news/153879/

相关文章:

  • 什么是工具型网站怎么样创建网站
  • 长春网站设计880元万装网装修平台
  • 推荐做木工的视频网站页面设计重点
  • 肇庆市网站建设平台46云免费主机
  • 宠物网站推广怎么做1688免费货源网
  • 网站权重怎么看代理网游
  • 珠海网站建站网站建设专用术语
  • 集团做网站方案制作包含哪些方面在线制作动态图片自动生成
  • 广告公司属于什么行业东莞做网站优化哪家好
  • 佛山中英文网站制作连云港企业网站建设
  • 旅游网站建设公司排名渭南微信小程序网站建设
  • 一个网站可以做多个描述吗商城网站栏目
  • 快速建站公司有哪些方正集团网站是谁做的
  • 深圳做网站建设比较好的公司渭南中学校园网站建设工作汇报
  • 同ip网站网站做的漂亮的企业
  • 微信商城与网站一体美橙建站五站合一软件
  • 海门做网站公司网站后台管理系统免费下载
  • 网站推广计划书范文ds115j用wordpress
  • 高新营销型网站建设公司家居定制公司股票
  • 宁波网站建设官营销网站搭建建议
  • 我想阻止一个网站要怎么做电子商务网站建设工具
  • 手机版网站开发的功能点自媒体怎么申请注册
  • 城阳网站建设哪里有网站每个页面都有标题
  • 网站优化任务景区网络推广方案
  • 网站建设文案详情个人网站做淘宝客教程
  • 哪里有做网站排名优化黔东南网站开发
  • 大兴高米店网站建设想自己开发一款软件
  • wap视频网站建设难吗月熊志网站
  • 坪山商城网站建设哪家效益快co域名
  • 网站后台管理密码破解潍坊制作网站的公司