反転文字列の単語-Javaの正規一致

2852 ワード

0 x 01.質問
文字列を指定し、文字列内の各単語を1つずつ反転します.
  • スペースのない文字は単語を構成します.
  • 入力文字列は、前または後ろに余分なスペースを含めることができますが、反転した文字は含まれません.
  • 2 2 2つの単語の間に余分なスペースがある場合は、反転した単語の間のスペースを1つだけ含むように減らします.

  • 入力例:「hello world!」出力例:「world!hello」
    public String reverseWords(String s)
    

    0 x 02.要点分析
    単純に文字配列として単語の反転が複雑になり、コード量も大きくなる可能性があります.JavaのAPIを使用して、コード量を大幅に簡略化することができます.具体的な考え方は以下の通りです.
  • 文字列の先頭と末尾のスペースを削除し、s.trim()を使用します.
  • は、各単語をListの集合の要素に変換し、具体的には、文字列sをスペースで分割(正規表現)してArrays.asListを使用する.
  • は、Listを反転させる.
  • は、Listの要素を文字列に格納し、スペースで区切ります.

  • 0 x 03.解決コード
    class Solution {
        public String reverseWords(String s) {
            s=s.trim();
            List<String> words=Arrays.asList(s.split("\\s+"));
            Collections.reverse(words);
            return String.join(" ", words);
        }
    }
    

    気持ち日記:飛んでみると、後で歩くときも空を見上げることができます.それはあなたが行ったことがあり、帰りたい場所だからです.
    ATFWUS --Writing By 2020–04-10