109. 文字列内の単語を反転する
タイトルリンク
ソース:LeetCode(LeetCode)
リンク:https ://leetcode-cn.com/problems/reverse-words-in-a-string
タイトルの説明
文字列が与えられると、文字列内の各単語を1つずつフリップします。
例1:
入力:「空は青です」
出力:「青は空です」
例2:
入力:「hello world!」
出力:「world!Hello」
説明:入力ストリングの前後に余分なスペースを含めることができますが、反転文字を含めることはできません。
例3:
入力:「良い例」
出力:「良い例a」
説明:2つの単語の間に余分なスペースがある場合は、反転した単語間のスペースを1つに減らします。
説明:
スペースのない文字は単語を形成します。
入力文字列には前後に余分なスペースを含めることができますが、反転した文字を含めることはできません。
2つの単語の間に余分なスペースがある場合は、反転後の単語間のスペースを1つだけに減らします。
上級:
C言語ユーザーを選択して、O(1)余分なスペースの複雑さのin-situソリューションを試してください。
もっと難しい
- 文字列を分割:split();
- フィルター文字列:フィルター();
- 文字列を逆にします:reverse();
- 配列をスペースで区切られた文字列に変換します。join( '');
トピック分析
- 文字列を分割するには、分割( '')します。
- filter()は空の配列を検出しません。filter()を使用して、空の文字を持つ要素を削除します。
- 文字列を逆にするには、reverse()を使用します。
- 配列をスペースで区切られた文字列に変換します。join( '');
/ ** * @param {string} s * @return {string} * / var reverseWords = function(s){ let arr = s.split( ''); arr = arr.filter(item => item); return arr.reverse()。join( ''); };