[算法]字符串中的反向单词

反转字符串中单词的顺序

给定一个输入字符串 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(' '): 将反转后的单词数组连接成一个字符串,单词之间用单个空格分隔。

[算法]字符串中的反向单词

这个解决方案简洁明了,有效地处理了多余空格和单词反转的问题。 它避免了复杂的循环和条件语句,提高了代码的可读性和效率。

以上就是[算法]字符串中的反向单词的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1501242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月19日 23:23:41
下一篇 2025年12月19日 23:23:56

相关推荐

发表回复

登录后才能评论
关注微信