//先把每个单词内部局部反转,然后再整体反转即可。
class Solution {
public:
    string ReverseSentence(string str) {
        int begin,end=0;
        while(end<str.size())
        {
            while(str.at(end)!=char{' '})
            {
                end++;//抵达该单词的终点。
                if(end>=str.size())break;
            }
            int j=0;
            for(int i=begin;i<(begin+end)/2;i++)//局部单词内的反转。
            {
                swap(str[i],str[end-j-1]);
                j++;
            }
            end++;
            begin=end;//都跳过空格,往前步进一步。
        }
        for(int i=0;i<str.size()/2;i++)
        {
            swap(str.at(i),str.at(str.size()-i-1));
        }
        return str;
    }
};