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

用什么网站做海报 知乎网站本科

用什么网站做海报 知乎,网站本科,外贸公司怎么接订单,免费下载手机app目录 题目: 示例: 分析: 代码运行结果: 题目: 示例: 分析: 给我们字符串,让我们解码,那么该怎么解码呢,被括号【】包裹起来的字符串需要扩展成括号左边第…

目录

 

题目:

示例:

分析:

代码+运行结果:


题目:

示例:

分析:

给我们字符串,让我们解码,那么该怎么解码呢,被括号【】包裹起来的字符串需要扩展成括号左边第一个数字(可能不止一位数)倍,例如 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/562370/

相关文章:

  • 合肥网站优化价格wordpress 文章加密
  • 建设部网站最新消息标书制作软件
  • 天津做家政的网站深圳市住房和建设局公众号
  • 网站收录情况查询一般做海报的图片跟哪个网站下载
  • 经营范围 网站开发你知道吗
  • 做招商加盟网站装修哪家好
  • 铜陵港航投资建设集团网站付费抽奖网站怎么做
  • 网站建设的目标人群是什么wordpress 通配符替换
  • 网站文字特效拉新推广渠道
  • 旅游网站建设规模新手运营从哪开始学
  • 六安建六安建设网站线上推广平台有哪些
  • 旅游政务网站建设阐述企业搭建网站的重要性
  • 企业网站该怎么做湖北什么是网站建设
  • 宁波制作网站的公司手机开发人员选项怎么设置
  • 做网站主流技术太月星网站建设程序开发网页设计
  • 杭州高端网站成都游戏软件开发公司有哪些
  • 彩票网站开发是否可以微信上浏览自己做的网站吗
  • 网站建设优化一年赚几十万厦门软件开发培训机构
  • 昆明seo网站排名厦门seo排名优化公司
  • 网站的优点有哪些方面网站域名列表
  • 二手物品交换网站建设陈铭生
  • 汽车配件做外贸在哪个网站wordpress菜单使用2层
  • 云南营销网站建设派多格宠物网站建设
  • 网站建设公司策划射阳网站建设
  • 懒人手机网站成华区微信网站建设推广
  • 珠海网站艰涩和惠州市中国建设银行网站
  • 餐饮企业网站建设方案书视频剪辑软件app
  • wordpress跳转手机站返利的网站怎么做
  • 做网站备案成功后怎么办wordpress使用react
  • 南宁营销型网站设计网站建设公司需要有什么东西