151.翻转字符串里的单词
给你一个字符串 s ,逐个翻转字符串中的所有 单词 。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。
说明:
- 输入字符串 s 可以在前面、后面或者单词间包含多余的空格。
- 翻转后单词间应当仅用一个空格分隔。
- 翻转后的字符串中不应包含额外的空格。
思路:
- 使用
split将字符串按空格分割成字符串数组; - 使用
reverse将字符串数组进行反转; - 使用
join方法将字符串数组拼成一个字符串。 - \s 是匹配所有空白符,包括换行;
- +表示匹配前面的子表达式一次或多次
代码:
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),用来存储字符串分割之后的结果

浙公网安备 33010602011771号