给定一个输入字符串 s,反转单词的顺序。一个单词定义为一系列非空格字符。s 中的单词至少由一个空格分隔。返回一个以相反顺序排列的单词字符串,单词之间由单个空格分隔。
关键要求:
示例 1:
输入:s = "the sky is blue" 输出:"blue is sky the"
示例 2:
输入:s = " hello world " 输出:"world hello" 解释:反转后的字符串不应包含前导或尾随空格。
示例 3:
输入:s = "a good example" 输出:"example good a" 解释:需要将两个单词之间的多个空格减少为反转字符串中的单个空格。
解决方案:
以下 JavaScript 代码使用正则表达式高效地解决了这个问题:
var reverseWords = function(s) { // 使用正则表达式替换多个空格为单个空格,并去除首尾空格 return s.replace(/\s+/g, ' ').trim().split(' ').reverse().join(' '); };
代码解释:
s.replace(/\s+/g, ' '): 使用正则表达式 /\s+/g 替换一个或多个空格 (\s+) 为单个空格。g 标志确保替换所有匹配项。
.trim(): 去除字符串开头和结尾的多余空格。
.split(' '): 根据空格将字符串分割成一个单词数组。
.reverse(): 反转单词数组的顺序。
.join(' '): 将反转后的单词数组连接成一个字符串,单词之间用单个空格分隔。
这个解决方案简洁明了,有效地处理了多余空格和单词反转的问题。 它避免了复杂的循环和条件语句,提高了代码的可读性和效率。
以上就是[算法]字符串中的反向单词的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号