今天是代码随想录的第七天,写了力扣的151.翻转字符串里的单词;
之后或许还要再琢磨琢磨
151.翻转字符串里的单词,代码如下:
python
# 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) - 1
while left < right:
words[left], words[right] = words[right], words[left]
left += 1
right -= 1
# 将列表转换成字符串
return " ".join(words)```