代码随想录算法训练营第七天 |151.翻转字符串里的单词
今天是代码随想录的第七天,写了力扣的151.翻转字符串里的单词;
之后或许还要再琢磨琢磨
代码随想录链接
力扣链接
151.翻转字符串里的单词,代码如下:
# class Solution:
# def reverseWords(self, s: str) -> str:
# # Solution1
# (版本一)先删除空白,然后整个反转,最后单词反转。 因为字符串是不可变类型,所以反转单词的时候,需要将其转换成列表,然后通过join函数再将其转换成列表,所以空间复杂度不是O(1)# # 删除前后空白
# s = s.strip()
# # 反转整个字符串
# s = s[::-1]
# # 将字符串拆分为单词,并反转每个单词
# s = ' '.join(word[::-1] for word in s.split())
# return s# Solution2# 使用双指针;
class Solution:def reverseWords(self, s: str) -> str:# 将字符串拆分为单词,即转换成列表类型words = s.split()# 反转单词left, right = 0, len(words) - 1while left < right:words[left], words[right] = words[right], words[left]left += 1right -= 1# 将列表转换成字符串return " ".join(words)```