题目描述

[EN | CN]

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

示例 1:

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

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

解法 1:直接法

按照题目的思路直接解。

假设字符串长度为 $n$,那么

  • 时间复杂度为 $O(n)$,遍历;
  • 空间复杂度为 $O(n)$,保存结果。

实现与结果如下:

1
2
3
class Solution:
    def reverseWords(self, s: str) -> str:
        return ' '.join([word[::-1] for word in s.split()])
  • 执行用时:44 ms,在所有 Python3 提交中击败了 69.40% 的用户。
  • 内存消耗:14.3 MB,在所有 Python3 提交中击败了 7.14% 的用户。