【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(' ')// 使用单一空格连接成结果返回
};
相关推荐
圣保罗的大教堂7 分钟前
leetcode 1386. 安排电影院座位 中等
leetcode
hkNaruto7 分钟前
【Linux】Ubuntu 22.04 LTS GNOME 原生远程桌面配置:告别vnc、nomachine
linux·运维·ubuntu
小马92613 分钟前
智能体时代的两块基石:DeepSeek Harness 开源与“认知基础设施“数据库
数据库·人工智能·开源·agent
那年窗外下的雪.26 分钟前
VXLAN EVPN 分层排障:从 VTEP 可达、ARP/MAC 到 MAC Mobility
服务器·前端·网络·数据库·spine
冰暮流星36 分钟前
mysql练习1
数据库·mysql
Nil2081 小时前
leetcode 146LRU缓存
算法·leetcode·缓存
崇子嵘1 小时前
基于zynqMPsoc15eg的linux端axi dma教训总结
linux·运维·服务器
三8441 小时前
MySQL 文件读写函数详解:从 CTF 实战到 LOAD_FILE、INTO OUTFILE、LOAD DATA INFILE 应用
数据库·sql
动力 continue1 小时前
Linux 基础篇 · Vim 三种模式与常用指令
linux·运维·vim
深念Y1 小时前
系统内存与Swap优化记录
linux·内存·优化·虚拟内存·压缩·ram·zram