Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue
",
return "blue is sky the
".
Clarification:
#include "stdafx.h" #include <string> #include <iostream> using namespace std; class Solution{ public: void reverseWords(string &s) { string revese, tmp; int k = 0; while (s[k] == ‘ ‘) //ignore the leading spaces { k++; } for (int i = k; i < s.size();) { if (s[i] != ‘ ‘) { tmp += s[i++]; } else { while (s[i] == ‘ ‘) // reduce the spaces to a single space i++; if (i == s.size()) break; revese = " " + tmp + revese; tmp = ""; } } s = tmp + revese; }; }; int _tmain(int argc, _TCHAR* argv[]) { Solution *sln = new Solution(); string s = " hello dd "; sln->reverseWords(s); cout << s << endl; return 0; }
Reverse Words in a String,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/pengpenghappy/p/3861542.html