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

自己建网站免费百度输入法下载

自己建网站免费,百度输入法下载,如何设计优秀的公司网站,哈尔滨网站建设平台目录 题目: 示例: 分析: 代码运行结果: 题目: 示例: 分析: 题目给我们一个字符串,然后字符串中包含星号*,要求每个星号消除一个从星号左边起最近的一个字符&#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.khdw.cn/news/32045.html

相关文章:

  • 做电影资源网站服务器怎么选外链推广平台
  • 用群晖如何做公司网站百度一下就知道官网
  • 德阳网站建设公司seo服务价格表
  • 高端网站建设页面自助建站平台
  • 做pc端网站适配公司免费推广网站
  • 做贷款的网站有哪些网站免费推广软件
  • 北京比较大的网站建设公司竞价培训
  • 学做美食视频在哪个网站成都关键词排名推广
  • 电商网站建设哪家好100%上热门文案
  • 网站服务器数据库荆门刚刚发布的
  • 手机网站开发成本网站seo设计
  • 静安区网站开发seo网站优化经理
  • 免费建站的网站有哪些搭建一个网站的流程
  • 宿迁网站建设哪家专业友情链接的网站
  • 免费商会网站模板短视频seo关键词
  • 做网站赔钱了seo排名优化技术
  • 找人做网站不算诈骗罪吗百度电话客服24小时
  • 自动优化网站建设咨询seo教学视频教程
  • 网站建设合同技术开发合同范本网站软件推荐
  • 烟台网站排名优化费用企业营销咨询
  • 律师事务所网站建设方案职业技术培训
  • 福田网站建设怎么优化网络
  • 银行网站开发技术方案互联网销售是什么意思
  • 做1688网站运营工资怎么样网站编辑
  • 用那种语言做网站比较好手机端搜索引擎排名
  • 正品海外代购网站哪个最好哪里能搜索引擎优化
  • 怎么下载一个网站的css临沂网站建设
  • 北京最大的设计公司手机优化大师下载安装
  • 做网站运营好还是SEO好关键词推广优化
  • 网站建设实训总结报告北京网络seo