侧边栏壁纸
博主头像
Hope博主等级

努力赚钱的工科研究生

  • 累计撰写 362 篇文章
  • 累计创建 129 个标签
  • 累计收到 5 条评论
标签搜索

LeetCode 151. 翻转字符串里的单词

Hope
2022-03-03 / 0 评论 / 0 点赞 / 398 阅读 / 480 字
温馨提示:
本文最后更新于 2022-03-03,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

LeetCode 151. 翻转字符串里的单词

思路:

先处理前面和后面的空格,然后用双指针处理里面的单词,先把里面的单词反转,然后再整体反转。

代码:

class Solution {
public:
    string reverseWords(string s) {
        //先把两边的空格全干掉
        reverse(s.begin(),s.end());
        while(s.back() == ' ') s.pop_back();
        reverse(s.begin(),s.end());
        while(s.back() == ' ') s.pop_back();

        for(int  i = 0;i < s.size() ;i++){
            int j = i;
            while(j < s.size() && s[j] != ' ') j++;
            cout<<j;
            reverse(s.begin() + i, s.begin() + j);
            while(j < s.size() && s[j + 1] ==  ' ') s.erase(s.begin() + j);
            i = j;
        }
        reverse(s.begin(),s.end());
        return s;
    }
};
0

评论区