反转字符串单词的问题中。
没明白用B的形式reS.append(s[right + 1:right + t + 1:-1])写,实际最终输出的是" "。
输入:s = "a good example"
理论输出:"example good a"
我知道这种步长-1的反序输出是错误的,但是我觉得就算是错误输出也该是"elpmaxe doog a"啊?但为什么是“ ”?
这是不懂的地方。
class Solution:
def reverseWords(self, s: str) -> str:
reS = []
left, right =0, len(s) - 1
while left <= right and s[left] == " ":
left += 1
while right >= left and s[right] == " ":
right -= 1
while right >= left:
t = 0
while right >= left and s[right] != " ":
t += 1
right -= 1
reS.append(s[right + 1:right + t + 1])
# reS.append(s[right + 1:right + t + 1:1]) -------A
# reS.append(s[right + 1:right + t + 1:-1]) -------B
while right >= left and s[right] == " ":
right -= 1
return " ".join(reS)