leetcode151. 颠倒字符串中的单词(思路+详解)

一:题目

在这里插入图片描述

二:上码

class Solution {
public:/**思路:1.去空格(字符串首部的空格  字符串中间的空格  字符串尾部的空格)1>:这里的话 我们就用到了双指针去空格 fastindex遇见空格直接跳过当fastindex遇不见空格,就将值赋值给fastindex;2.字符串反转3.将单词反转*/void removespacing(string& s) {//记得加上取地址符,否则的话,我们无法得到正确的字符串int slowIndex = 0;int fastIndex = 0;//处理字符串前的空格while (s[fastIndex] == ' ') fastIndex++;//处理字符串中的空格  不过这里需要注意的是  我们需要保留一个正常的空格for (; fastIndex < s.size(); fastIndex++) {if ( fastIndex > 0&& s[fastIndex] == s[fastIndex-1]//这里的处理就是可以保留正常的空格 && s[fastIndex] == ' ') {continue;} else {s[slowIndex] = s[fastIndex];slowIndex++;} }//处理字符串末尾的空格 如果字符串末尾有多个空格的话 上方的for循环可以将空格数处理到只剩下一个//slowIndex最终的值是我们的元素个数if (slowIndex > 0 && s[slowIndex-1] == ' ') {s.resize(slowIndex-1);//重新设置字符串大小} else {s.resize(slowIndex);}}//反转单词  void reverseStr(string& s,int start,int end) {for (int i = start,j = end; i < j; i++,j--) {swap(s[i],s[j]);}}string reverseWords(string s) {//消除空格removespacing(s);//反转字符串reverseStr(s,0,s.size()-1);//反转字符串中的单个单词for (int i = 0; i < s.size(); i++) {int j = i;while (j < s.size() && s[j] != ' ') {j++;}//然后遇见了空格的话  那么我们的i是保留的是我们单词的首个下标  j-1就是我们的单词的尾部下标reverseStr(s,i,j-1);//此时j代表的是空格,那么的话赋值给i,i再++的话就是正常字符了i = j;}// cout << s;return s;}
};

不要自我感动
沉浸于自我感动无异于扼杀自己的梦想
永远不要骗自己
时常要问自己
自己有什么 想要什么 可以为此放弃什么
谁活的都不容易
不用去羡慕
心中有了向往的样子
就努力靠近
无论接下来走那条路
只要我们在路上
那就跟我们向往的样子越来越近
考研也好
就业也罢
无论那条路
都将不会一帆风顺
前行路上
能有鼓励更好
有质疑也无所谓
因为我们选的路
是我们自己走的
别人左右不了什么
要向着光
要不断提升自己
要热爱和乐观
可以迷茫
可以焦虑
但不要停下
只要在路上
方向就一点点有了
希望是这个世界上最美好的事情
加油 陌生人 !!我们永远在路上
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/307429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Azure 内容审查器之羞羞图审查

上一篇 Azure 内容审查器之文本审查我们已经介绍了如果使用Azure进行文字内容的审核。对于社区内容&#xff0c;上传的图片是否含有羞羞内容也是需要过虑的。但是最为一般开发者自己很难实现这种级别的智能识别。但是借助Azure的内容审查器可以分分钟实现它。创建内容审查器在使…

在springboot项目中 static中的 style.css加载不出来

一:问题展示 二:问题解决 404问题你就记住 绝逼是路径出了问题 我以前的写法 报错 修改之后的&#xff1a;可以正常显示

聊一聊mongodb中的 explain 和 hint

看到explain和hint的时候&#xff0c;第一个想到的就是mysql&#xff0c;确实&#xff0c;这就是在mysql中借鉴过来的&#xff0c;既然是借鉴过来的&#xff0c;我想大家都知道这两个关键字的用处&#xff0c;话不多说&#xff0c;速速观看~~~一&#xff1a;explain演示 1. 构建…

leetcode28. 实现 strStr()

一:题目 二:上码 class Solution { public:/**思路:1.KMP算法,主要处理的是字符串匹配的问题2.这里边需要用到next数组 也就是前缀表;那么我们为什么要用前缀表呢&#xff0c;当我们进行匹配字符的时候发现匹配到不相同的字符的时候,那么我们就需要在匹配字符串中查询前一个字符…

Blazor 火了,不禁让人想起已死的Silverlight !

Blazor 火了&#xff0c;Blazor是.NET on browser在开放标准下的一次全新尝试&#xff0c;也将是C#成为全平台全栈语言的最后一块拼图。技术上基于Xamarin团队正在开发的一套运行在wasm上的CLR实现。目前Blazor最直接的受益者还是那些想要做前端的C#开发者&#xff0c;有熟悉的…

xshell过期怎么办

一&#xff1a;问题展示 二:问题的解决 如果我们是出于学习的目的的话&#xff0c;那么我们就可以下载家庭版学生版的免费版本 下载地址:https://www.xshell.com/zh/free-for-home-school/ 然后就等着人家给你发邮件就行了 发完邮件点击里面的链接

C#刷剑指Offer | 二叉树中和为某一值的路径

【C#刷题】| 作者 / Edison Zhou这是EdisonTalk的第292篇原创内容我们来用之前学到的数据结构知识来刷《剑指Offer》的一些核心题目&#xff08;精选了其中30道题目&#xff09;&#xff0c;希望对你有帮助&#xff01;本文题目为&#xff1a;二叉树中和为某一值的路径。1题目介…

leetcode459. 重复的子字符串(KMP)

一:题目 二:上码 class Solution { public:/**思路:a b c a b c a b c a b cnext[i] 0 0 0 1 2 3 4 5 6 7 8 9i 0 1 2 3 4 5 6 7 8 9 10 11 length:12next[length-1]:next[11] 9length - next[length-1] 3;//求出我们的单个字符串如果length % (length - next[length-1]…

AA.Dapper升级了

AA.Dapper如何使用AA.Dapper基于dapper进一步封装而成的orm框架&#xff0c;提供增删改查、分页、事务、原生sql的功能&#xff0c;以满足日常的业务开发。1&#xff0e;Repository层&#xff1a;DapperRepository类包含大部分数据库操作如图&#xff1a; DapperContext.Curren…

剑指 Offer 05. 替换空格(java双指针)

一:题目 二:上码 class Solution {/**思路:1.双指针法进行解决2.我们先统计出空格的数量,然后再按空格数*2,扩充成字符串&#xff0c;加入到原来的字符串中3.然后我们定义两个指针 一个是原来数组长度的指针 一个是扩充完数组长度下标的指针4.当我们原来数组长度的指针遇见空…

如何使用 dotTrace 来诊断 netcore 应用的性能问题

最近在为 Newbe.Claptrap 做性能升级&#xff0c;因此将过程中使用到的 dotTrace 软件的基础用法介绍给各位开发者。Newbe.Claptrap 是一个用于轻松应对并发问题的分布式开发框架。如果您是首次阅读本系列文章。建议可以先从本文末尾的入门文章开始了解。开篇摘要dotTrace 是 J…

leetcode232. 用栈实现队列

一:题目 二:上码 class MyQueue { public:/**思路:1.设置两个栈,一个In,一个out,2.模拟入队的话 其实就是 往栈中添加元素3.模拟出队的话&#xff0c;那么是先进先出的 ,我们需要将in中的元素 导入到 out 中&#xff0c;然后出队的话其实也就是 out栈中的栈顶元素。*/stack<…

用.NetCore 编译国产老牌PHP论坛DiscuzX ,世界上最好的语言从此属于.Net 的一员

DiscuzX是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。自2001年6月面世以来&#xff0c;Discuz!已拥有15年以上的应用历史和200多万网站用户案例&#xff0c;是全球成熟度最高、覆盖率最大的论坛软件系统之一。目前最新版本Discuz! X3.4正式版于2017年8月2…

leetcode225. 用队列实现栈

一:题目 二:上码 class MyStack { private:/**思路:1.我们每次push的时候 先push进队列,然后的话,将该元素前面的元素都出队重新push进该队列的尾部*/queue<int>q; public:/** Initialize your data structure here. */MyStack() {}/** Push element x onto stack. */voi…

使用 .NET 进行游戏开发

微软是一家综合性的网络公司&#xff0c;相信这点来说不用过多的赘述&#xff0c;没有人不知道微软这个公司&#xff0c;这些年因为游戏市场的回报&#xff0c;微软收购了很多的游戏公司还有独立工作室&#xff0c;MC我的世界就是最成功的的案例&#xff0c;现在市值是排在全世…

leetcode20. 有效的括号

一:题目 二:上码 class Solution { public:/**思路:- 这个题厉害之处在于其遍历到符号的左半部分的时候,我们是将对应的右半部分入队的- 那么如果存在对应的元素的话,那么我们就可以判断跟栈顶元素是否相等。*/bool isValid(string s) {stack<char> st;for (int i 0; i …

为什么我们总是「习惯性辩解」?

这里是Z哥的个人公众号每周五11&#xff1a;45 按时送达当然了&#xff0c;也会时不时加个餐&#xff5e;我的第「162」篇原创敬上大家好&#xff0c;我是Z哥。今天我们来讨论一个日常工作中很常见的现象&#xff1a;面对质疑&#xff0c;我们的第一反应是不承认&#xff0c;甚…

leetcode1047. 删除字符串中的所有相邻重复项

一:题目 二:上码 class Solution { public:string removeDuplicates(string s) {stack<char>st;string str;st.push(s[0]);for (int i 1; i < s.size(); i) {if (!st.empty() && s[i] st.top()) {//此时s[i]也没有入栈st.pop();} else {st.push(s[i]);}}whi…

写好C#代码的技巧

写好C&#xff03;代码的技巧编者导语本文来自https://www.pluralsight.com&#xff0c;作者Afzaal Ahmad Zeeshan。原文包含以下三篇文章&#xff1a;《编写更好的C&#xff03;代码简介》https://www.pluralsight.com/guides/introduction-to-writing-better-csharp-code《编…

如何理解Eating这个词?云原生与微服务专场介绍

点击上方“开源社”关注我们| 作者&#xff1a;开源社| 编辑&#xff1a;李明康| 责编&#xff1a;袁睿斌有一幅曾经传播很广的漫画&#xff0c;大意是&#xff1a;软件吞噬世界&#xff0c;开源吞噬软件。后来这个漫画又被人加了两条鱼&#xff1a;云计算吞噬开源&#xff0c;…