js实现单词倒排 - 翻转单词顺序
给定一个字符串,翻转该字符串,翻转时单词中的字符顺序不变。例如,如果字符串为"Hello World",则翻转后为"World Hello"。单词间以一个或多个空格分隔。注意,字符串开头和结尾都可能有多个空格。
输入格式:
输入可能包括多行。每行代表一个字符串,除了空格外,标点符号和普通字母一样处理。你可以认为一行的字符总数不会超过50000个,单词数不会超过600,每个单词的长度也不会超过30。
输出格式:
输出包括多行,每行对应输入的一行,为翻转后的字符串。
样例:
student. a am I
输出:
I am a student.解题思路(路径循环法)
- 去掉字符串两侧空格
- 以空格为基础分割,分割之后过滤掉中间的空格
- 将数组反转之后再连接即可
var reverseWords = function(s) {
// 去掉字符串两侧空格
s = s.trim();
// 以空格为基础分割,分割之后过滤掉中间的空格
const temp = s.split(' ').filter(value => value !== '')
// 将数组反转之后再连接即可
return temp.reverse().join(' ')
};
reverseWords('student. a am I') //'I am a student.'总结(本题给我们的启示思路)
- 启示一:学会使用trim去掉字符串两侧空格,这个函数不会对原字符串产生影响,因此需要自己进行赋值
- 启示二:学会使用filter对数组进行过滤
- 启示三:学会使用reverse对数组进行反转
- 启示四:学会使用join连接数组为字符串
- 本题思路较为简单,主要是要对常用api比较熟悉
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!