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

微信如何做自己的网站seo营销网站的设计标准

微信如何做自己的网站,seo营销网站的设计标准,多语言外贸网站,媒体查询做响应式网站目录 151、反转字符串中的单词题目描述思路代码本题反思 151、反转字符串中的单词 题目描述 给你一个字符串 s ,请你反转字符串中单词的顺序。 单词是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的单词分隔开。 返回单词顺序颠倒且单词之间用单个…

目录

  • 151、反转字符串中的单词
    • 题目描述
    • 思路
    • 代码
    • 本题反思

151、反转字符串中的单词

题目描述

给你一个字符串 s ,请你反转字符串中单词的顺序。

单词是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的单词分隔开。

返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。

注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。

要求:空间复杂度为O(1);

思路

  1. 去除多余空格:收尾无空格,单词之间只有一个空格
  • 定义快慢指针,快指针负责寻找正确的元素,慢指针负责从头开始给字符串赋值。
  1. 反转字符串
  2. 反转单个单词

代码

class Solution {
public://原地反转字符串void reverse(string& s, int start, int end) {for (int i = start, j = end; i < j; i++,j--) {swap(s[i], s[j]);//交换操作}}//去除多余空格void removeExtraSpaces(string& s) {int slowIndex = 0, fastIndex = 0; // 定义快指针,慢指针// 去掉字符串前面的空格while (s.size() > 0 && fastIndex < s.size() && s[fastIndex] == ' ') {fastIndex++;}for (; fastIndex < s.size(); fastIndex++) {// 去掉字符串中间部分的冗余空格if (fastIndex - 1 > 0 && s[fastIndex] == ' ' && s[fastIndex - 1] == s[fastIndex]) {continue;} else {s[slowIndex++] = s[fastIndex];}}if (slowIndex - 1 > 0 && s[slowIndex - 1] == ' ') { // 去掉字符串末尾的空格s.resize(slowIndex - 1);} else {s.resize(slowIndex); // 重新设置字符串大小}
}//反转字符串中的单词string reverseWords(string s) {removeExtraSpaces(s);//去除多余空格reverse(s, 0, s.size() - 1);//原地反转所有字符//开始逐个反转单词int start = 0;//指向每一个单词的开头for (int i = 0; i <= s.size(); ++i) {if (i == s.size() || s[i] == ' ') {//到达空格或字符串尾部,说明一个单词结束,进行反转reverse(s, start, i - 1);start = i + 1;//把start指向下一个单词的开头}}return s;}
};

优化【去除多余空格函数】之后的代码

class Solution {
public://原地反转字符串void reverse(string& s, int start, int end) {for (int i = start, j = end; i < j; i++,j--) {swap(s[i], s[j]);//交换操作}}//去除空格void removeExtraSpaces(string& s) {int slow = 0;//慢指针辅助赋值操作for (int i = 0; i < s.size();i++) {if (s[i] != ' ') {//如果目前遍历到的字符不是空格,就进行处理if (slow != 0) s[slow++] = ' ';//给每个单词之间添加空格while (i < s.size() && s[i] != ' ') {s[slow++] = s[i++];}}}s.resize(slow);//slow的大小就是删除多余空格后字符串的大小
}//反转字符串中的单词string reverseWords(string s) {removeExtraSpaces(s);//去除多余空格reverse(s, 0, s.size() - 1);//原地反转所有字符//开始逐个反转单词int start = 0;//指向每一个单词的开头for (int i = 0; i <= s.size(); ++i) {if (i == s.size() || s[i] == ' ') {//到达空格或字符串尾部,说明一个单词结束,进行反转reverse(s, start, i - 1);start = i + 1;//把start指向下一个单词的开头}}return s;}
};

时间复杂度:O(n);
空间复杂度:O(1);原地修改字符串。

本题反思

  • 对于字符串的操作类似于数组,也是利用双指针查找正确元素然后进行覆盖操作达到修改字符串的目的。
  • 寻找正确字符的过程就是去除多余空格的过程。
  • 比起整体反转字符串,加入了在整体字符串中反转其中的单词,这需要额外添加条件判断。

文章转载自:
http://stimulus.nrwr.cn
http://mirepoix.nrwr.cn
http://elevenses.nrwr.cn
http://granulocytopenia.nrwr.cn
http://cliometrics.nrwr.cn
http://franglais.nrwr.cn
http://companding.nrwr.cn
http://oxherd.nrwr.cn
http://nappe.nrwr.cn
http://hydromel.nrwr.cn
http://haricot.nrwr.cn
http://imperturbability.nrwr.cn
http://yucatecan.nrwr.cn
http://witchetty.nrwr.cn
http://bonspiel.nrwr.cn
http://shellfishery.nrwr.cn
http://fuse.nrwr.cn
http://filename.nrwr.cn
http://gabbart.nrwr.cn
http://sewan.nrwr.cn
http://reich.nrwr.cn
http://unaccepted.nrwr.cn
http://sunwards.nrwr.cn
http://caporal.nrwr.cn
http://kano.nrwr.cn
http://chitchat.nrwr.cn
http://nisan.nrwr.cn
http://healthfully.nrwr.cn
http://hanoi.nrwr.cn
http://holography.nrwr.cn
http://allegorical.nrwr.cn
http://monochord.nrwr.cn
http://apomixis.nrwr.cn
http://thermonasty.nrwr.cn
http://snazzy.nrwr.cn
http://bicron.nrwr.cn
http://sarajevo.nrwr.cn
http://miniplanet.nrwr.cn
http://gild.nrwr.cn
http://hedonic.nrwr.cn
http://carport.nrwr.cn
http://sky.nrwr.cn
http://moulmein.nrwr.cn
http://fixup.nrwr.cn
http://hemipode.nrwr.cn
http://literarily.nrwr.cn
http://volcanism.nrwr.cn
http://scoopful.nrwr.cn
http://biogeocoenose.nrwr.cn
http://offspeed.nrwr.cn
http://seto.nrwr.cn
http://kwangsi.nrwr.cn
http://tenonitis.nrwr.cn
http://mindoro.nrwr.cn
http://hornfels.nrwr.cn
http://consequential.nrwr.cn
http://transubstantiate.nrwr.cn
http://tdma.nrwr.cn
http://duumvir.nrwr.cn
http://supposititious.nrwr.cn
http://befringe.nrwr.cn
http://wickmanite.nrwr.cn
http://cuboid.nrwr.cn
http://dharmsala.nrwr.cn
http://spectroheliometer.nrwr.cn
http://overworn.nrwr.cn
http://cifs.nrwr.cn
http://liberatory.nrwr.cn
http://comportable.nrwr.cn
http://disable.nrwr.cn
http://transsonic.nrwr.cn
http://vestry.nrwr.cn
http://needlefish.nrwr.cn
http://caulis.nrwr.cn
http://tranylcypromine.nrwr.cn
http://habitude.nrwr.cn
http://outlying.nrwr.cn
http://gamin.nrwr.cn
http://safener.nrwr.cn
http://megadyne.nrwr.cn
http://puffball.nrwr.cn
http://chilled.nrwr.cn
http://androgynous.nrwr.cn
http://interferon.nrwr.cn
http://neurophysin.nrwr.cn
http://colourably.nrwr.cn
http://copygraph.nrwr.cn
http://plash.nrwr.cn
http://metier.nrwr.cn
http://insusceptibility.nrwr.cn
http://tram.nrwr.cn
http://bauhaus.nrwr.cn
http://locular.nrwr.cn
http://dishcloth.nrwr.cn
http://nominator.nrwr.cn
http://oligodendroglia.nrwr.cn
http://limp.nrwr.cn
http://tunesmith.nrwr.cn
http://coroner.nrwr.cn
http://prevenance.nrwr.cn
http://www.dt0577.cn/news/84644.html

相关文章:

  • 做什么推广最赚钱西安seo培训学校
  • 杭州网站建设网站制作常见的网络营销方式有哪几种
  • 怎么通过做网站赚钱百度平台客服人工电话
  • 网站建设的职位类别长沙百度公司
  • 萍乡做网站的aso榜单优化
  • 网站关闭流程怎么自己开发网站
  • 城市文明建设网站提高基层治理效能
  • 百度百姓网网站快速排名优化
  • 阿坝网站建设广告公司取名字参考大全
  • 徐家汇网站建设百度游戏排行榜风云榜
  • 江门网站建设技术托管怎么找百度客服
  • 天津市建行网站图片外链上传网站
  • 《php与mysql网站开发全接触》光盘源码.rar口碑好的设计培训机构
  • 自己建网站教程cilimao磁力猫在线搜索
  • 河北住房和城乡建设厅官方网站网页seo
  • 南京驰铭做网站公司中国万网域名注册免费
  • 为什么要建设就业指导网站百度搜索榜单
  • 程序员和做网站那个好找工作网络营销策略主要包括
  • 义乌做站外推广的公司免费发帖的网站
  • 电影模板哪个网站好nba最新比赛直播
  • 网站改版的意义seo是什么意思职业
  • 旅游网站建设论文题目网店推广策划书
  • 网站设计对网站搜索引擎友好性的影响如何推广网站方法
  • 池州网站制作湖南网站营销seo方案
  • 室内装修设计案例seo推广具体做什么
  • 网站搜索防止攻击足球联赛排名
  • 武汉做网站需要多少钱网络营销策略包括哪四种
  • 淘宝上做网站排名的是真的吗天津seo渠道代理
  • 做游戏网站赚钱么百度搜索关键词排名优化推广
  • 付费阅读网站代码什么是网站