class Solution { public: void reverseWords(string &s) { int len = s.length(); reverse(s.begin(), s.end()); int wpos = 0; for (int p=0, q=0; p < len; p = q) { while ((p<len) && (s[p] == ‘ ‘)) p++; q = p; while ((q<len) && (s[q] != ‘ ‘)) q++; reverse(s.begin() + p, s.begin() + q); if (wpos != 0 && p < q) s[wpos++] = ‘ ‘; for (int i=p; i<q; i++) { s[wpos++] = s[i]; } } if (wpos != len) s = s.substr(0, wpos); } };
还要处理多余空格
LeetCode Reverse Words in a String,布布扣,bubuko.com
LeetCode Reverse Words in a String
原文:http://www.cnblogs.com/lailailai/p/3644303.html