557. 反转字符串中的单词 III


557. 反转字符串中的单词 III

难度简单 274
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例:
输入:“Let’s take LeetCode contest”
输出:“s’teL ekat edoCteeL tsetnoc”
提示:

  • 在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
public String reverseWords(String s) {
        StringBuffer ret = new StringBuffer();
        int length = s.length();
        int i = 0;
        while (i < length) &#123;
            int start = i;
            while (i < length && s.charAt(i) != ' ') &#123;
                i++;
            &#125;
            for (int p = start; p < i; p++) &#123;
                ret.append(s.charAt(start + i - 1 - p));
            &#125;
            while (i < length && s.charAt(i) == ' ') &#123;
                i++;
                ret.append(' ');
            &#125;
        &#125;
        return ret.toString();
    &#125;

作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/solution/fan-zhuan-zi-fu-chuan-zhong-de-dan-ci-iii-by-lee-2/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
557. 反转字符串中的单词 III
Let’s take LeetCode contest i start p ret start + i - 1 - p
0->5 0 0–>4 s’teL
6–>10 6 6–>8 s’teL 6+10-1-6=9
6+10-1-7=8
6+10-1-8=7
s’teL ekat 6+10-1-9=6

文章作者:   future
版权声明:   本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 future !
 上一篇
509. 斐波那契数 509. 斐波那契数
509. 斐波那契数斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n
2021-02-27 future
下一篇 
268. 丢失的数字 268. 丢失的数字
268. 丢失的数字给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。 进阶: 你能否实现线性时间复杂度、仅使用额外常数空间的算法解决此问题? 示例 1:输入:nums
2021-02-27 future
  目录