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

58同城网站建设问题股权分配系统建设网站

58同城网站建设问题,股权分配系统建设网站,东营seo网站推广费用,做标书网站目录 题目: 示例: 分析: 代码运行结果: 题目: 示例: 分析: 题目给我们一个字符串,然后字符串中包含星号*,要求每个星号消除一个从星号左边起最近的一个字符&#xf…

目录

题目:

示例:

分析:

代码+运行结果:


题目:

示例:

分析:

题目给我们一个字符串,然后字符串中包含星号*,要求每个星号消除一个从星号左边起最近的一个字符,返回消除后的字符串。

首先每个星号*要消除从左开始的第一个字符,并且自身也被移除,这不免让我们想到先进后出,后进先出这个概念,因此我们自然而然就可以想到使用栈来解决这道题。

一开始我使用的是C++内置的stack(栈)这个容器后,由于我们返回的结果还是需要按照正常的顺序排列的字符串,而一个个将字符从栈中取出则是相反的顺序,如果要正常排列,还需要加一道工序,因此我们可以使用vector来模拟栈,并且取结果的时候也可以从左到右自然地取出。

我们先遍历一边原字符串,然后在遇到非星号的字符则直接入栈,遇到星号时不仅不入栈,还需要将栈顶元素弹出表示星号消除掉了一个从左开始第一个字符。(由于题目保证了测试用例可以保证一个星号消除一个字符,因此我们不需要判断栈是否为空这种问题,不过代码中有习惯性做个判断,实际上是可以删掉的)

代码+运行结果:

class Solution {
public:string removeStars(string s) {//使用C++自带的stack栈的话,由于栈的先进后出的特殊性,会导致需要单独处理结果的顺序//使用vector模拟stackvector<char>stack;for(char S:s){if(stack.empty()||S!='*') stack.push_back(S);   //如果栈为空或者元素不为*则入栈//由于题目保证合法操作(即一个*会消除一个字符)因此实际上else if可以改成else,并且上面的if也不需要判断栈是否不为空else if(!stack.empty()) stack.pop_back();   //如果为*,不仅不入栈,并且要弹出一个最后进入的元素}string res="";for(const char &S:stack){res+=S;}return res;}
};

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

相关文章:

  • 做娱乐网站在百度网上做广告需要多少钱
  • 老师用什么网站做pptgta5房地产网站建设中
  • 巫山那家做网站怎么用自己主机做网站
  • 江都住房和建设局网站企业策划书目录
  • 宁波网站建设宁波网站开发代码
  • 做百度竞价什么网站好wordpress侧边栏固定
  • 有没有做任务的网站吗常州百度网站排名优化
  • 建网站需要哪些步骤门户网站建设与管理办法
  • 嘉兴模板建站公司wordpress手机导航
  • 厦门中小企业网站制作给网站底部做友情链接
  • 国外做装修设计网站深圳发布广告的平台有哪些
  • 网站关键词格式cf网站编程
  • 小游戏网站代码星速浏览器
  • 建俄语网站怎样用西瓜影音做网站
  • 国内网站怎么做有效果张店网站制作首选专家
  • 电子商务网站建设与管理的有关论文qq空间实名认证网站
  • 和一个网站做接口移动网页设计
  • 美丽乡村 村级网站建设自己做的网站打开太慢
  • wordpress能做手机站么做网站要多少回扣
  • 优质服务的网站设计制作电商类网站开发
  • 已备案网站数量中国建设银行网站密码
  • 昆明网上商城网站建设搭建网站商城
  • 做织梦网站的心得体会手机网站弹出提示框
  • wordpress网站使用教程个人简历模板下载 免费
  • 做爰全过程的视频网站三五互联网站建设
  • 建网站自己做服务器免费h5模板
  • 打开网站iis7烟台优化网站排名
  • 更换dns能上国外网站吗企业注册在哪个网站申请
  • wordpress免费企业站主题一键wordpress
  • 连云港做网站的站长网站素材网