翻转字符串里的单词【stringstream解法】

题文

给定一个字符串,逐个翻转字符串中的每个单词。

说明:

  • 无空格字符构成一个单词。
  • 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
  • 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。

样例

输入: " hello world! "
输出: “world! hello”

输入: “a good example”
输出: “example good a”

代码

string reverseWords(string& s) {
        if(s.empty()) return "";
        vector<string> temp;
        stringstream ss(s);
        string str,ans;
        while(getline(ss,str,' ')){ 
            if(str!="") {
                temp.push_back(str);
            }
        }
        if(temp.empty()) return "";
        for(int i=temp.size()-1;i>=1;--i){
            ans+=temp[i];
            ans+=" ";
        }
        ans+=temp[0];
        return ans;
    }

猜你喜欢

转载自blog.csdn.net/RealCoder/article/details/108606377