美文网首页
Python LeetCode-151. 翻转字符串里的单词(难

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

作者: Jayce_xi | 来源:发表于2019-04-30 16:31 被阅读0次

    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])
    

    相关文章

      网友评论

          本文标题:Python LeetCode-151. 翻转字符串里的单词(难

          本文链接:https://www.haomeiwen.com/subject/eauvnqtx.html