Python LeetCode-151. 文字列内の単語を反転(難易度-中程度)

938 ワード

1.テーマ
文字列を指定し、文字列内の各単語を1つずつ反転します.
1.例入力:「the sky is blue」出力:「blue is sky the」
2.例入力:「ハローワールド!」出力:「world!hello」解釈:入力文字列は前または後ろに余分なスペースを含めることができますが、反転後の文字は含まれません.
3.例入力:「a good example」出力:「example good a」説明:2つの単語の間に余分なスペースがある場合、反転した単語の間のスペースを1つだけに減らす.
説明:
  • スペースのない文字は単語を構成します.
  • 入力文字列は、前または後ろに余分なスペースを含めることができますが、反転した文字は含まれません.
  • 2 2 2つの単語の間に余分なスペースがある場合は、反転した単語の間のスペースを1つだけ含むように減らします.

  • ステップアップ:C言語を選択したユーザーは、O(1)余分な空間の複雑さのその場解法を試してください.
    2.分析
  • には、文字列my_str.split()の方法でパラメータを持たない場合、文字列の前後のスペースを除去し、スペースで切る機能(1つのスペースでも複数のスペースでも)
  • があります.
    str.split(str="", num=string.count(str)).
    

    パラメータ:
  • str--スペース、改行()、タブ(t)など、デフォルトではすべての空白文字です.
  • num--分割回数.デフォルトは-1です.つまり、すべてを区切ります.

  • 3.解決
    class Solution:
        def reverseWords(self, s: str) -> str:    
            return " ".join(s.split()[::-1])