题意:
        按照以下格式翻转字符串:
    
    

方法一:
stringstream类

思路:
        stringstream类 将字符串以空格分隔得到单词。
        再将单词逆序输出。
        
    

class Solution {
public:
    string ReverseSentence(string str) {
        if(str=="")
            return str;
        stringstream ss(str);//stringstream类
        string x,res="";
        stack<string> st;//栈实现逆序
        while(ss >> x){
            st.push(x);//入栈
        }
        res+=st.top();
        st.pop();
        while(!st.empty()){//出栈并拼接
            res+=" "+st.top();
            st.pop();
        }
        return res;
    }
};


时间复杂度:
空间复杂度:

方法二:
模拟

思路:
        直接遍历字符串模拟。
        遍历字符串,如果遇到空格,则入栈;
        否则,累加字符串。


class Solution {
public:
    string ReverseSentence(string str) {
        if(str=="")
            return str;
        str+=" ";
        int len=str.size();
        
        string x="",res="";
        stack<string> st;//栈实现逆序
        for(int i=0;i<len;i++){
            if(str[i]==' '){//如果等于空格
                st.push(x);//入栈
                x="";
            }else{
                x+=str[i];
            }
        }
        
        res+=st.top();
        st.pop();
        while(!st.empty()){//出栈并拼接
            res+=" "+st.top();
            st.pop();
        }
        return res;
    }
};

时间复杂度:
空间复杂度: