反転文字列の単語-Javaの正規一致
2852 ワード
0 x 01.質問
文字列を指定し、文字列内の各単語を1つずつ反転します.スペースのない文字は単語を構成します. 入力文字列は、前または後ろに余分なスペースを含めることができますが、反転した文字は含まれません. 2 2 2つの単語の間に余分なスペースがある場合は、反転した単語の間のスペースを1つだけ含むように減らします.
入力例:「hello world!」出力例:「world!hello」
0 x 02.要点分析
単純に文字配列として単語の反転が複雑になり、コード量も大きくなる可能性があります.JavaのAPIを使用して、コード量を大幅に簡略化することができます.具体的な考え方は以下の通りです.文字列の先頭と末尾のスペースを削除し、 は、各単語を は、 は、
0 x 03.解決コード
気持ち日記:飛んでみると、後で歩くときも空を見上げることができます.それはあなたが行ったことがあり、帰りたい場所だからです.
ATFWUS --Writing By 2020–04-10
文字列を指定し、文字列内の各単語を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