给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例 1:
输入: “Let’s take LeetCode contest”
输出: “s’teL ekat edoCteeL tsetnoc”
注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
整体思路:
- 将字符串以空格为分隔符,将每一个单词放进数组
- 在函数里处理每一个单词,将一个单词转为数组,使用reverse方法将数组反转(即将一个单词反转)
- 反转以后,将一个单词构成的数组转为字符串
- 最后将几个单词组成的数组用join转为字符串
注意:
- 最后还有join,因为要将每一个单词(几个字母组成的字符串)组成字符串
- 空格作为分隔符
提交
1 | let arr = str.split(' '); |
利用Jest工具进行代码测试
1 | import leetcode557 from '../../code/string/lesson1' |
知识点:
- map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
1 | var array1 = [1, 4, 9, 16]; |
- split() 方法用于把一个字符串分割成字符串数组。
语法
stringObject.split(separator,howmany)
1 | var str="How are you doing today?" |
reverse() 方法用于颠倒数组中元素的顺序。
该方法会改变原来的数组,而不会创建新的数组。join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
语法
arrayObject.join(separator)
1 | var arr = new Array(3); |