1. 程式人生 > 其它 >151.翻轉字串裡的單詞

151.翻轉字串裡的單詞

給你一個字串 s ,逐個翻轉字串中的所有 單詞 。單詞是由非空格字元組成的字串。s中使用至少一個空格將字串中的單詞分隔開。請你返回一個翻轉 s 中單詞順序並用單個空格相連的字串。

說明:

  • 輸入字串 s 可以在前面、後面或者單詞間包含多餘的空格。
  • 翻轉後單詞間應當僅用一個空格分隔。
  • 翻轉後的字串中不應包含額外的空格。

思路:

  1. 使用split將字串按空格分割成字串陣列;
  2. 使用reverse將字串陣列進行反轉;
  3. 使用join方法將字串陣列拼成一個字串。
  4. \s 是匹配所有空白符,包括換行;
  5. +表示匹配前面的子表示式一次或多次

程式碼:

1 /**
2  * @param {string} s
3 * @return {string} 4 */ 5 var reverseWords = function(s) { 6 return s.trim().split(/\s+/).reverse().join(' '); 7 };

複雜度分析:

  • 時間複雜度:O(n),其中n為輸入字串的長度。

  • 空間複雜度:O(n),用來儲存字串分割之後的結果。