1.题目
给定一个字符串,逐个翻转字符串中的每个单词。
1.示例
输入: "the sky is blue"
输出: "blue is sky the"
2.示例
输入: " hello world! "
输出: "world! hello"
解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
3.示例
输入: "a good example"
输出: "example good a"
解释: 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。
说明:
- 无空格字符构成一个单词。
- 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
- 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。
进阶:
请选用 C 语言的用户尝试使用 O(1) 额外空间复杂度的原地解法。
2.分析
- 有一个知识点:就是字符串
my_str.split()
方法在里面不带参数的时候,拥有去除字符串前后空格,以及按空格切开的功能(不管是一个空格还是多个空格)
str.split(str="", num=string.count(str)).
参数:
- str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
- num -- 分割次数。默认为 -1, 即分隔所有。
3.解决
class Solution:
def reverseWords(self, s: str) -> str:
return " ".join(s.split()[::-1])
网友评论