Reverse Words in a String
来源:互联网 发布:2016淘宝新店扶持期 编辑:程序博客网 时间:2024/05/23 14:29
题目:Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue
",
return "blue is sky the
".
Update (2015-02-12):
For C programmers: Try to solve it in-place in O(1) space.
思路:
本题的思路是每一次在s里面把字符串倒过来,这里是自己写一个倒转的程序。我在自己写的时候发现如果连续出现空格的问题,后来发现有一个连续判断,再额外设置一个变量的方法。在最后记得倒转整个s字符串。
另外记得里面一定判断下i是否在整个数组长度之内。
代码:
class Solution {public: void reverseWords(string &s) { if(s.empty()) return; int i=0,k=0; while(s[i]==' '&&i<s.length()){ i++; } //i此时不为空 while(i<s.length()){ int start=k; while(s[i]!=' '&&i<s.length()){ s[k++]=s[i++]; }//此时i空 if(k>start+1){ reverseSubWord( s, start,k-1); } while(s[i]==' '&&i<s.length()){ i++; } if(i<s.length()) s[k++]=' ';//一开始是这个地方没有设置,如果i到了最后,就不要设置空格 } if(k<s.length()){ s.erase(s.begin()+k,s.end()); } if(k >1) reverseSubWord( s, 0,k-1) ; } void reverseSubWord(string &s,int start,int end){ while(start<=end){ swap(s[start],s[end]); start++;end--; } } };
0 0
- Reverse words in a string.
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Reverse Words in a String
- Android传感器开发详解
- yii2 url 重写 自定义url
- android EditText中的inputType
- linux卸载自带jdk与jdk配置
- shell删除最后一列、删除第一行、比较文件
- Reverse Words in a String
- jq-delay()知识点
- Spring、整合Spring+JDBC
- android EditText自定义样式
- Redis学习笔记2-Redis的集群
- 使用navigator.userAgent.toLowerCase()判断移动端类型
- Data-Driven 3D Voxel Patterns for Object Category Recognition
- .NET项目开发的几个非常重要的项目设置
- HorizontalScrollView的滚动到指定位置问题记录