题目描述:

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例 1:

  1. 输入: "Let's take LeetCode contest"
  2. 输出: "s'teL ekat edoCteeL tsetnoc"

注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

算法实现:

  1. /**
  2. * @param {string} s
  3. * @return {string}
  4. */
  5. var reverseWords = function(s) {
  6. return s.split(' ').map(item =>{
  7. return item.split('').reverse().join('')
  8. }).join(' ')
  9. };

思考:

题目很简单,但是遇到了一个以前没有遇到的坑,split方法不会改变原对象,所以这里必须使用map方法映射一个新数组来完成操作,而用for循环是无法遍历该数组的。

总结:

很有价值的一道题,考察了数组和字符串的方法运用。