LeeCode - 反转字符串中的单词
题目:
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
示例 1:
输入: "Let's take LeetCode contest"
输出: "s'teL ekat edoCteeL tsetnoc"
分析:
我第一时间想到的还是array.prototype.reserve() ,首先要通过字符串的 split()方法,将字符串转换为数组,再通过map()方法,遍历数组中的每一项item,再对每项的item进行reverse(),返回数组后join()。
我的答案:
/**
* @param {string} s
* @return {string}
*/
var reverseWords = function(s) {
return s.split(" ").map((item) => {
return item.split("").reverse().join("")
}).join(" ")
};
结果:提交成功
耗时:112ms
内存:47.6MB
其他解法
绕来绕去法
这里比较绕,想一下就明白了:
const reverseWords = function (s) {
return s.split("").reverse().join("").split(" ").reverse().join(" ")
}
结果:提交成功
耗时:168ms
内存:44.8MB