【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(' ')// 使用单一空格连接成结果返回
};
相关推荐
Q741_147几秒前
每日一题 力扣 3548. 等和矩阵分割 II 前缀和 哈希表 C++ 题解
算法·leetcode·前缀和·矩阵·力扣·哈希表
摇滚侠1 分钟前
Redis 怎么用,Java 开发,Redis 怎么用
java·数据库·redis
云边有个稻草人2 分钟前
Oracle替换工程实践:迁移落地实操与成本全解析
数据库·oracle
木井巳2 分钟前
【递归算法】全排列 Ⅱ
java·算法·leetcode·决策树·深度优先·剪枝
勤劳的进取家5 分钟前
Excel 公式技术手册
数据库·excel
BullSmall6 分钟前
接口测试-- SQL 注入测试(安全合规版)
数据库·sql·oracle·安全性测试
Trouvaille ~7 分钟前
【项目篇】从零手写高并发服务器(十):性能测试与项目总结
linux·运维·c++·reactor·性能测试·高并发服务器·webbench
TechPioneer_lp7 分钟前
2026微软SDE LeetCode高频题:208道,按频度排序,含备考建议
算法·leetcode·microsoft·leetcode刷题·大厂算法刷题·微软sde·微软笔试题
王仲肖7 分钟前
PostgreSQL 冻结(Freeze)机制深度解析
数据库·postgresql
C++ 老炮儿的技术栈7 分钟前
Tcp客户端报错原因分析
linux·c语言·网络·c++·网络协议·tcp/ip