Txing

欢迎来到 | 伽蓝之堂

0%

Q557 反转字符串中的单词 III

反转字符串中的单词 III

Question

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

Example 1:

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

Note

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

Approach 1: Intuitive Solution

1
2
3
4
5
6
7
8
9
10
11
12
class Solution(object):
def reverseWords(self, s):
return ' '.join(s.split(' ')[::-1])[::-1]

def main():
s = "Let's take LeetCode contest"
solution=Solution().reverseWords(s)
print(solution)


if __name__ == "__main__":
main()
1
2
3
4
5
6
7
s.split(' ') # 按照分割字符串

s.split(' ')[::-1] # 按照分割字符串,并将单词逆顺序排序

' '.join(s.split(' ')[::-1]) # 用‘ ’连接分割出来的单词

' '.join(s.split(' ')[::-1])[::-1] # 将新建立的句子(字符串)逆序排列
  • 时间复杂度:O(N),其中 N 为字符串的长度。原字符串中的每个字符都会在 O(1) 的时间内放入新字符串中。
  • 空间复杂度:O(N),我们开辟了与原字符串等大的空间。