自己做的网站 jen,安徽省城乡和住房建设厅网站,国际形势最新消息,网站代码制作软件有时候我会怀疑努力的意义#xff0c;因为我总是花人家好几倍的时间去理解一个狗看了都觉得弱智的问题#xff0c;思考过后我知道#xff0c;努力本没有意义#xff0c;是在未来可能十年内取得成就时突然回想起来之前做过一些事情#xff0c;未来的成就赋予曾经的意义因为我总是花人家好几倍的时间去理解一个狗看了都觉得弱智的问题思考过后我知道努力本没有意义是在未来可能十年内取得成就时突然回想起来之前做过一些事情未来的成就赋予曾经的意义所以望不到尽头时最使人绝望。在我接受自己就是个普通人的事实后便豁然开朗要求开始降低我开始以做出基础题为自己骄傲不为理解不了中等题或难题困扰理解不了就死记硬背呗如果未来有一道笔试题能套用这道题的模板就有幸了。清楚地认识自己后方向反而明确我知道做哪些事情会让我进步或许认识到自己的平凡才是迈向成熟的标志吧 于苦痛中爬行不断向前做一个罗曼罗兰口中的认清现实的英雄一个悲剧的、认清现实的、不屈不挠的“人”。话说的有点多先看题干吧 代码;
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 fast 0; fast s.size(); fast){if(s[fast] ! ){if(slow ! 0) s[slow] ;while(fast s.size() s[fast] ! ) s[slow] s[fast];}}s.resize(slow);}string reverseWords(string s) {reverse(s, 0, s.size() - 1);removeExtraSpaces(s);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;}}return s;}
};
我知道解题思路是什么但我始终理解不了这几行;
void removeExtraSpaces(string s){//int slow 0;//for(int fast 0; fast s.size(); fast){//if(s[fast] ! ){if(slow ! 0) s[slow] ;while(fast s.size() s[fast] ! ) s[slow] s[fast];}}s.resize(slow);
我实在想象不出来指针是怎么边移动边加空格的我能理解双指针删除元素但是这三行我着实理解不了慢慢来吧。
还有这个
string reverseWords(string s) {//reverse(s, 0, s.size() - 1);//removeExtraSpaces(s);//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;}}//return s;}
先记着等学到后面再来看看吧。