Python LeetCode-151. 翻转字符串里的单词(难度-中等)

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])
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容