美文网首页
LeetCode题解之反转字符串中的单词 III

LeetCode题解之反转字符串中的单词 III

作者: l1fe1 | 来源:发表于2020-09-03 10:50 被阅读0次

反转字符串中的单词 III

题目描述

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

示例 :

输入:"Let's take LeetCode contest"
输出:"s'teL ekat edoCteeL tsetnoc"

提示:

  • 在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

解题思路

使用split方法将字符串分割成单词数组,然后使用StringBuilder类的reverse方法将单词反转追加到结果字符串中,注意在每个单词之间加上空格。

复杂度分析

  • 时间复杂度:O(n),其中 n 为字符串 s 的长度。
  • 空间复杂度:O(n)。

代码实现

class Solution {
    public String reverseWords(String s) {
        String res = "";
        int i = 0;
        for (String str : s.split(" ")) {
            res += new StringBuilder(str).reverse().toString();
            if (++ i < s.split(" ").length) {
                res += " ";
            }
        }
        return res;
    }
}

相关文章

网友评论

      本文标题:LeetCode题解之反转字符串中的单词 III

      本文链接:https://www.haomeiwen.com/subject/rgygsktx.html