题目截图
方法一:使用额外空间
先设置一个新的列表ans,将原字符串遍历分解反转后存入列表,最后再利用join()函数将列表转为新字符串返回。
遍历方法:从头到尾遍历一遍,设置两个指针i和start。
先令start等于i,没有空格时i累加;
然后从start到i开始遍历并逆序在ans列表填入元素;
碰到空格后i再次累加,并在ans列表添加空格;
令start再次等于i,然后重复第一步、和第二部继续遍历逆序填入元素,直到外层遍历完成。再将列表转换为字符串。
这个算法相当于每次碰到空格后开始逆序填入前面的非空格元素,最后达到题目要求的单词逆序,但是每个单词的位置是顺序的。
def reverseWords(self, s: str)