77. 翻转单词顺序
1.翻转整个句子
2.翻转每个单词
class Solution { public: string reverseWords(string s) { /*翻转整个句子 */ for(int i=0,j=s.size()-1; i < j; i++,j--) swap(s[i],s[j]); //cout<<s<<endl; /*翻转每个单词*/ //相当于m、k2个指针 for(int k = 0; k < s.size(); k ++) { int m=k; while(m < s.size() && s[m]!=' ') m++; //cout<<m<<endl; reverse(s.begin()+k,s.begin()+m); k = m;//m指向的是空格,执行到这一步后,会跳会for循环,执行k++,执行下一个不是空格的字符 } return s; } };
reverse(s.begin()+k,s.begin()+m);
的功能和
for(int i=0,j=s.size()-1; i < j; i++,j--) swap(s[i],s[j]);
一样
-----------------------20200324--------------------------
reverse(s.begin(),s.end()),能取到s.begin(),但是取不到s.end().左闭右开
带女朋友搬家新家条件不好,累到女朋友了,让女朋友受苦了,特此明志:每天学习,明年这个时候(20190812)让女朋友住上大房子,永远年轻,永远热泪盈眶,很多人都是这样,他们都把自己当成身在梦中一样,浑浑噩噩地过日子,只有痛苦或爱或危险可以让他们重新感到这个世界的真实。