题解 | #字符串的排列#
翻转单词序列
http://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3
借助 C++ <algorithm> 中的 reverse()
函数
- 首先翻转整个句子
- 翻转每个单词
时间复杂度,空间复杂度。
class Solution { public: string ReverseSentence(string str) { reverse(str.begin(), str.end()); string::iterator begin = str.begin(); string::iterator end = str.begin(); while(true){ if(end==str.end()){ reverse(begin, end); break; } else if((*end)==' '){ reverse(begin, end); ++end; begin=end; } else{ ++end; } } return str; } };