reverse word in a string(leetcode)
来源:互联网 发布:深入理解java内存模型 编辑:程序博客网 时间:2024/06/04 18:53
Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue
",
return "blue is sky the
".
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. - 方法就是先将整个string翻转,然后再将多余空格变为一个空格,在将其中每个单词翻转即可。
- 我为了避免调整空格的繁琐移动操作,就直接另建一string,保留每个word的翻转结果,最后将其赋值给s即可
class Solution {public: void reverseWords(string &s) { if( s.empty() ){ return; }reverse( s.begin(),s.end() );string::iterator left = s.begin(),right = s.begin();enum{ OFF,ON } state;state = OFF;string s1;for( string::iterator i = s.begin();i != s.end();i++ ){if( *i != ' ' ){if( !state ){left = i;state = ON;}}else if( *i == ' ' ){if( state ){right = i;s1 += reverse( left,right ) + ' ';state = OFF;}}}if( s[s.size() - 1] != ' ') s1 += reverse( left,s.end() );if( s1[s1.size() - 1] == ' ') s1.erase( s1.end() - 1 );s = s1;}string reverse( string::iterator left,string::iterator right ){char c;for( string::iterator it1 = left,it2 = right - 1;it1 < it2;it1++,it2-- ){c = *it1;*it1 = *it2;*it2 = c;}string str( left,right );return str;}};
0 0
- reverse word in a string(leetcode)
- Reverse word in a string [leetcode]
- 【Leetcode】Reverse word in a string
- Leetcode: Reverse word in string
- Reverse Word in a String
- Reverse Words in a String (LeetCode)
- Reverse Word in a String(improve)
- Reverse every word in a String
- Leetcode - string - Reverse Words in a String
- 【leetcode】Reverse Words in a String (python)
- LeetCode 题解(138): Reverse Words in a String
- LeetCode(151) Reverse Words in a String
- LeetCode 151. Reverse Words in a String(反转单词)
- [leetcode]Reverse Words in a String(using Python)
- LeetCode 557:Reverse Words in a String III (c++)
- Reverse words in a String leetcode
- [LeetCode]Reverse Words in a String
- 【LeetCode】Reverse Words in a String
- 刘建宏:日本距冠军很遥远 如富士山和珠峰的差距
- JVM内存结构
- Session和Cookies的区别
- HighCharts日期及数值格式化
- CI邮件发送
- reverse word in a string(leetcode)
- 闭包(Closures)
- OCP 1Z0 052 145
- JAVA启动参数大全之二:非标准参数[收藏]
- SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法
- poj1509 Glass Beads SAM
- linux--主机名修改
- mysql5.0触发器的使用介绍
- Git