151. Reverse Words in a String
来源:互联网 发布:在淘宝做直通车多少钱 编辑:程序博客网 时间:2024/06/05 14:19
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.
click to show clarification.
Clarification:
- What constitutes a word?
A sequence of non-space characters constitutes a word. - Could the input string contain leading or trailing spaces?
Yes. However, your reversed string should not contain leading or trailing spaces. - How about multiple spaces between two words?
Reduce them to a single space in the reversed string.
Subscribe to see which companies asked this question
1.方法一
class Solution {public:void reverseWords(string &s) {stringstream ss(s);ss>>s;string tmp;while(ss>>tmp){s=tmp+" "+s;}if(s[0]==' ') s="";}};
2.方法二
class Solution {public:void reverseWords(string &s) {int len=s.size();int i=0,j=0,k=0;int wordNum=0;while(true){while(i<len&&s[i]==' ') i++;if(i==len) break;if(wordNum) s[j++]=' ';k=j;while(i<len&&s[i]!=' '){s[j]=s[i];j++;i++;}reverseWord(s,k,j-1);wordNum++;}s.resize(j);reverseWord(s,0,j-1);}private:void reverseWord(string &s,int i,int j){while(i<j){swap(s[i++],s[j--]);}}};
0 0
- LeetCode 151. Reverse Words in a String
- LeetCode 151. Reverse Words in a String
- [LeetCode]151.Reverse Words in a String
- 151. Reverse Words in a String
- [leetcode] 151.Reverse Words in a String
- Leetcode-151.Reverse Words in a String
- Leetcode 151. Reverse Words in a String
- 151. Reverse Words in a String
- 151. Reverse Words in a String
- 151. Reverse Words in a String
- [leetcode]151. Reverse Words in a String
- 151. Reverse Words in a String
- 151. Reverse Words in a String
- LeetCode 151. Reverse Words in a String
- Leetcode 151. Reverse Words in a String
- 151. Reverse Words in a String
- LeetCode *** 151. Reverse Words in a String
- LeetCode-151.Reverse Words in a String
- 1005.Spell It Right (20)
- 关于用Getline读取文件只能读取首行的问题
- 如何生成可导入数据库的亿级别数据
- File Watcher,不只是一个工具
- CENTOS 7.2 使用 RDO 安装 OPENSTACK
- 151. Reverse Words in a String
- linux下grep用法
- MATLAB数学建模(6)-蒙特卡洛算法
- HDU 1402及51 nod1028 大数乘法 V2(FFT 快速傅里叶变换)
- 35. Search Insert Position **
- ZZULIOJ 1874: 蛤玮学计网
- Morris Traversal方法遍历二叉树
- HBASE入门概念和基本操作命令
- InfoQ学习笔记