【leetcode刷题笔记】Reverse Words in a String

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 };

 

 

你可能感兴趣的:(LeetCode)