1. 绝对不要用stack.size()在弹出的时候做循环,因为它得大小是动态变化的。
#include<bits/stdc++.h>
class Solution {
public:
    string ReverseSentence(string str) {

        string res;
        if(!str.length()) return "";

        stringstream ss(str);
        stack<string> stk;

        string s;

        while(getline(ss, s,' ')){
            stk.push(s);
        }

        int size = stk.size();// 不要变pop然后这个做为size大小,必须先赋值给其他变量。

        for(int i = 0; i< size; i++){

            if(i!=size-1){
                res+= stk.top()+' ';
            }else{
                res+= stk.top();
            }

            stk.pop();
        }

        return res;
    }
};