题解 | #翻转单词序列#
翻转单词序列
https://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3
//先把每个单词内部局部反转,然后再整体反转即可。 class Solution { public: string ReverseSentence(string str) { int begin,end=0; while(end<str.size()) { while(str.at(end)!=char{' '}) { end++;//抵达该单词的终点。 if(end>=str.size())break; } int j=0; for(int i=begin;i<(begin+end)/2;i++)//局部单词内的反转。 { swap(str[i],str[end-j-1]); j++; } end++; begin=end;//都跳过空格,往前步进一步。 } for(int i=0;i<str.size()/2;i++) { swap(str.at(i),str.at(str.size()-i-1)); } return str; } };