1
class Solution:
2
def split(self, s: str, delimiter=" ") -> List[str]:
3
start, end = 0, 0
4

5
res = []
6
for ch in s:
7
if ch == delimiter:
8
if start == end:
9
start += 1
10
else:
11
res.append(s[start:end])
12
start = end + 1
13

14
end += 1
15

16
if start != end:
17
res.append(s[start:end])
18

19
return res
20

21
def reverse_list(self, ll: List[str]) -> List[str]:
22
l, r = 0, len(ll) - 1
23

24
while l < r:
25
ll[l], ll[r] = ll[r], ll[l]
26
l += 1
27
r -= 1
28

29
return ll
30

31
def reverseWords(self, s: str) -> str:
32

33
# split first
34
splitted_str_list = self.split(s)
35

36
# reverse splitted list
37
reversed_str_list = self.reverse_list(splitted_str_list)
38

39
# join an return
40
return " ".join(reversed_str_list)

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0