题解 | #翻转单词序列#

翻转单词序列

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;
    }
};

全部评论

相关推荐

07-01 17:14
中北大学 Java
兄弟们是真是假
牛客46374834...:我在boss上投java岗从来没成功过
点赞 评论 收藏
分享
点赞 评论 收藏
分享
晗江雪:其实我只是觉得你们导员说的很好笑
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 14:35
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务