题解 | #翻转单词序列#

翻转单词序列

https://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3

//先把每个单词内部局部反转,然后再整体反转即可。
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;
    }
};

全部评论

相关推荐

请看图片
投递叮咚买菜等公司10个岗位 >
点赞 评论 收藏
分享
点赞 评论 收藏
分享
整顿职场的柯基很威猛:这种不可怕,最可怕的是夹在一帮名校里的二本选手,人家才是最稳的。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务