【LeetCode 0151】【字符串】反转字符串中的单词

题目

https://leetcode.com/problems/reverse-words-in-a-string/

题解
  • 正则+高阶函数
javascript 复制代码
var reverseWords = function(s) {
   return  s.split(/[\s]+/).filter(e=>e!="").reverse().join(" ")  
};
  • 迭代+双指针(时间O(n) 空间O(n) ):从右边往左确定每一个单词,放入结果
javascript 复制代码
var reverseWords = function(s) {
    let answer = [];
    // i 指向单词首字符,j指向单词尾部下一个字符或者s串尾
    for( let i = s.length-1 , j = s.length; i >= 0; i--){
        if(s[i] == ' '){ // 发现新单词的尾部
            j = i
        }else if(i==0 || s[i-1] == ' '){// 发现新单词的首部
            answer.push(s.substring(i,j)) // 收集单词
        }
    }
    return answer.join(' ')// 使用单一空格连接成结果返回
};
相关推荐
疯狂打码的少年16 小时前
【软件工程】需求工程:需求获取与需求分析
数据库·笔记·软件工程·需求分析
Database_Cool_16 小时前
阿里云 PolarDB-X vs TiDB 分布式数据库选型指南
数据库·分布式·阿里云·tidb
数据库小学妹16 小时前
分布式数据库架构怎么选?三种路线对比+迁移避坑指南
数据库·分布式·分布式数据库·数据库架构·数据迁移·数据库选型
陈同学xxx16 小时前
Hermes Agent 接入飞书,在手机上随时聊天
linux·python·飞书
桑榆肖物16 小时前
在 .NET MAUI 里接入 PP-OCRv6 文本检测实现查找并点击
数据库·redis·.net·maui
网络小白不怕黑16 小时前
14.VSFTP服务相关配置
linux·运维·服务器
是摆烂第一名呀17 小时前
RK3576+GMSL摄像头底层适配与调试
linux·arm开发·驱动开发·嵌入式硬件·数码相机
味悲17 小时前
SQL注入从入门到实战
数据库·sql·安全
KaMeidebaby17 小时前
卡梅德生物技术快报|兔单克隆抗体:噬菌体 Fab 免疫文库搭建实操:兔单克隆抗体重组构建完整参数
前端·网络·数据库·人工智能·算法
qetfw17 小时前
CentOS 7 配置 firewalld 防火墙
linux·运维·centos