zoukankan      html  css  js  c++  java
  • LeetCode 557. 反转字符串中的单词 III 双指针

    地址 https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/

    给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
    
     
    
    示例:
    
    输入:"Let's take LeetCode contest"
    输出:"s'teL ekat edoCteeL tsetnoc"
     
    
    提示:
    
    在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

    算法1
    双指针的用法 使用 l r 标记处每个解析出来的单词 逆序后加入答案
    对于开头 结尾有空格 的情况 和最后一个单词(r >= s.size())
    做一些特殊处理

    C++ 代码

    class Solution {
    public:
        string reverseWords(string s) {
            int l =0;int r = 0;
            string ans;
            while(l <s.size()&& r<s.size()){
                if(s[l] == ' ')  l++;
                r =l;
                while(r <s.size() && s[r] != ' ') r++;
                string str = s.substr( l,r-l); 
                reverse(str.begin(),str.end());
                ans += str; 
                if(r <s.size()-1)
                    ans+=' ';
                l = r;
            }
            
            return ans;
        }
    };
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    Aspose.word总结
    表格样式
    Aspose.Words 总结
    mysql主从复制
    WebApi系列~通过HttpClient来调用Web Api接口
    Memcached服务器安装、配置、使用详解
    Jqery之select操作
    Centos7 设置IPtables
    memcached全面剖析--5
    memcached全面剖析--4
  • 原文地址:https://www.cnblogs.com/itdef/p/13584569.html
Copyright © 2011-2022 走看看