目录
润到字符串了。
方法1:双指针定位单词
class Solution:
def reverseWords(self, s: str) -> str:
#双指针法,双指针都放在字符串末尾,逆序遍历,查找到一个单词就写进ret数组,最后拼接成字符串
#先删除首尾空格
s=s.strip()
i=j=len(s)-1
ret=[]
while i>=0:
while i>=0 and s[i]!=' ':
i-=1
#此时已找到单词
ret+=[s[i+1:j+1]]
#接下来需要跳过空格,然后ij归同一个位置
while i>=0 and s[i]==' ':
i-=1
#ij归位
j=i
#拼接
return ' '.join(ret)
方法2:字符串分割+列表倒序
class Solution:
def reverseWords(self, s: str) -> str:
s=s.strip()
strs=s.split()
strs.reverse()
return ' '.join(strs)
一行代码
class Solution:
def reverseWords(self, s: str) -> str:
return ' '.join(s.strip().split()[::-1])
ps:
# 删除首尾空格
s.strip()
# 数组拼接成字符串(例如:按照空格拼接,ret是一个数组)
' '.join(ret)
# split() 方法将单词间的 “多个空格看作一个空格”
# reverse() 方法翻转单词列表 strs ,拼接为字符串并返回
紧跟k神就对啦!