151 Reverse Words in a String
1 class Solution { 2 public: 3 void reverseWords(string &s) { 4 string result; 5 for (int i = s.size() - 1; i >= 0;) { 6 while (i >= 0 && s[i] == ' ') { 7 i--; 8 } 9 if (i < 0) { 10 break; 11 } 12 13 string word; 14 while (i >= 0 && s[i] != ' ') { 15 word += s[i]; 16 i--; 17 } 18 reverse(word.begin(), word.end()); 19 if (!result.empty()) { 20 result += ' '; 21 } 22 result += word; 23 } 24 s = result; 25 } 26 };