leetcode-Reverse Words in a String-151
输入一个字符串,逆序其中的单词
先遍历一遍字符串,把单词放入vector<string> vs中,然后逆序vs,之后遍历一遍vs放入s中
注意可能有连续很多个空格
1 class Solution { 2 public: 3 void reverseWords(string &s) { 4 if(s.size()==0) return; 5 vector<string> vs; 6 string st; 7 for(int i=0;i<s.size();i++){ 8 if(s[i]==' '){ 9 if(!st.empty()){ 10 vs.push_back(st); 11 st.clear(); 12 } 13 } 14 else{ 15 st+=s[i]; 16 } 17 } 18 if(!st.empty()) vs.push_back(st); 19 reverse(vs.begin(),vs.end()); 20 s.clear(); 21 for(int i=0;i<vs.size();i++){ 22 for(int j=0;j<vs[i].size();j++) s+=vs[i][j]; 23 if(i!=vs.size()-1) s+=' '; 24 }; 25 } 26 };