557. 反转字符串中的单词 III
解题过程
INFO
题目链接 给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序
javascript
/**
* @link https://leetcode.cn/problems/reverse-words-in-a-string-iii/
* @title 557. 反转字符串中的单词 III
* @description 给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序
* @param {string} s
* @return {string}
*/
// 解法一
// 思路:使用字符串 API 转数组然后再将每个数组元素字符串转数组反转重新赋值即可
var reverseWords = function (s) {
const newStr = s.split(' ')
for (let i = 0; i < newStr.length; i++) {
newStr[i] = newStr[i].split('').reverse().join('')
}
return newStr.join(' ')
}
// 解法二
// 思路:优化解法一
var reverseWords = function (s) {
return s.split(' ').map(item => {
return item.split('').reverse().join('')
}).join(' ')
}
const result = reverseWords("Let's take LeetCode contest") // s'teL ekat edoCteeL tsetnoc
// const result = reverseWords("God Ding") // doG gniD
console.log(result)
解题感受
用字符串 API 最简单的解法做的,有考虑到用双指针来做,写了一会没写出来,跟 541 题目的一种解法很像