给定一个字符串,逐个翻转字符串中的每个单词。
示例:
输入:"the sky is blue"
输出:"blue is sky the"
题目归根结底还是翻转字符串,不过这里又改成了有空格的单词,在python中,这就是在翻转字符串的基础上考验你关于一些python常用函数的应用。
完整代码如下:
class Solution:
def reverseWords(self, s: str) -> str:
# 删除前后空白
s = s.strip()
# 反转整个字符串
s = s[::-1]
# 将字符串拆分为单词,并反转每个单词
s = ' '.join(word[::-1] for word in s.split())
return s
首先,以防万一,利用strip函数删除整个字符串前后的空格。其次,翻转整个字符串,但我们的单词和单词之间是存在空格的,所以这也给了我们翻转单词的前提。
s = ' '.join(word[::-1] for word in s.split())这行代码为了简洁将几行代码合在了一起,将其写完整,如下:
s = s.split()
ls = [word[::-1] for word in s]
s = ' '.join(ls)
先将字符串s切片成不同的字符串列表,然后对列表中的每个字符串进行反转,最后利用' '在不同字符串中添加空格组成一个完整的新的字符串。