Skip to content

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 题目的一种解法很像

优质题解