Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue
",
return "blue is sky the
".
题解:用栈就行了
代码:
1 class Solution { 2 public: 3 void reverseWords(string &s) { 4 stack<string>st; 5 string temp = ""; 6 7 for(int i = 0;i <= s.length();i++){ 8 if(i == s.length()) 9 { 10 st.push(temp); 11 } 12 else if(s[i] != ' '){ 13 temp += s[i]; 14 } 15 else 16 { 17 if(temp != ""){ 18 st.push(temp); 19 temp = ""; 20 } 21 } 22 } 23 s = ""; 24 while(!st.empty()){ 25 if(st.top() != " ") 26 s += st.top(); 27 st.pop(); 28 if(!st.empty() && s != ""){ 29 s += " "; 30 } 31 } 32 } 33 };