557. 反转字符串中的单词 III - 力扣(LeetCode)
文章起笔:2021年11月7日12:44:24
问题描述及示例
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例:
输入:“Let’s take LeetCode contest”
输出:“s’teL ekat edoCteeL tsetnoc”
提示:
在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
我的题解
思路比较直接,题目中说了【每个单词由单个空格分隔,并且字符串中不会有任何额外的空格】,所以可以放心大胆地用 split()
函数将 s
分割为单词数组。然后利用 map()
函数将单词数组里的每个单词都进行翻转操作。最后再利用 join()
函数将翻转后的单词以空格拼接为一个完整的字符串,并将其作为返回值返回。
此前也做过有关字符串翻转的题目,可做参考:
参考:【算法-LeetCode】151. 翻转字符串里的单词(双指针/滑动窗口;字符串;正则;数组方法)_赖念安的博客-CSDN博客
/**
* @param {string} s
* @return {string}
*/
var reverseWords = function(s) {
let arr = s.split(' ');
return arr.map(cur => cur.split('').reverse().join('')).join(' ');
};
提交记录
执行结果:通过
29 / 29 个通过测试用例
执行用时:76 ms, 在所有 JavaScript 提交中击败了87.86%的用户
内存消耗:44.1 MB, 在所有 JavaScript 提交中击败了50.72%的用户
时间:2021/11/07 12:48
当然也有双指针的方法,这里就不再赘述了,上面的博客中有相关的描述,大体思路都差不多。
官方题解
更新:2021年7月29日18:43:21
因为我考虑到著作权归属问题,所以【官方题解】部分我不再粘贴具体的代码了,可到下方的链接中查看。
【更新结束】
更新:2021年11月7日12:49:44
【更新结束】
有关参考
更新:2021年11月7日13:02:11
参考:【算法-LeetCode】151. 翻转字符串里的单词(双指针/滑动窗口;字符串;正则;数组方法)_赖念安的博客-CSDN博客