简单但是麻烦
class Solution:
def trim_spaces(self,s):
left = 0
right = len(s)-1
while left<=right and s[left] == ' ':
left += 1
while left<=right and s[right] == ' ':
right -= 1
tmp = []
while left<=right:
if s[left]!=' ':
tmp.append(s[left])
elif tmp[-1]!=' ':
tmp.append(' ')
left += 1
return tmp
def reverse_string(self,nums,left,right):
while left<right:
nums[left], nums[right]=nums[right],nums[left]
left+=1
right-=1
return None
def reverse_each_word(self, nums):
start=0
end=0
n=len(nums)
while start<n:
while end<n and nums[end]!=' ':
end+=1
self.reverse_string(nums,start,end-1)
start=end+1
end+=1
return None
def reverseWords(self, s: str) -> str:
l = self.trim_spaces(s)
self.reverse_string( l, 0, len(l) - 1)
self.reverse_each_word(l)
return ''.join(l)