151.翻轉字串裡的單詞
阿新 • • 發佈:2021-09-03
給你一個字串 s ,逐個翻轉字串中的所有 單詞 。單詞是由非空格字元組成的字串。s中使用至少一個空格將字串中的單詞分隔開。請你返回一個翻轉 s 中單詞順序並用單個空格相連的字串。
說明:
- 輸入字串 s 可以在前面、後面或者單詞間包含多餘的空格。
- 翻轉後單詞間應當僅用一個空格分隔。
- 翻轉後的字串中不應包含額外的空格。
思路:
- 使用
split
將字串按空格分割成字串陣列; - 使用
reverse
將字串陣列進行反轉; - 使用
join
方法將字串陣列拼成一個字串。 - \s 是匹配所有空白符,包括換行;
- +表示匹配前面的子表示式一次或多次
程式碼:
1 /** 2 * @param {string} s3 * @return {string} 4 */ 5 var reverseWords = function(s) { 6 return s.trim().split(/\s+/).reverse().join(' '); 7 };
複雜度分析:
-
時間複雜度:O(n),其中n為輸入字串的長度。
-
空間複雜度:O(n),用來儲存字串分割之後的結果。