【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(' ')// 使用单一空格连接成结果返回
};
相关推荐
zhishijike2 分钟前
全国行政区划sql(省市区)
数据库·sql·mysql
KaMeidebaby11 分钟前
卡梅德生物技术快报|单 B 细胞抗体技术:全犬源单抗制备流程、关键参数与性能验证
前端·数据库·其他·百度·新浪微博
KG_LLM图谱增强大模型16 分钟前
scHilda:大模型与知识图谱分层融合,突破单细胞分型瓶颈
数据库·人工智能·知识图谱
凯瑟琳.奥古斯特18 分钟前
力扣3654:二维矩阵连续空位统计
数据结构·数据库·算法·职场和发展
闫记康29 分钟前
Linux学习day3
linux·服务器·学习
皆圥忈37 分钟前
Linux 进程管理从入门到实战(一)
linux
雪度娃娃38 分钟前
Asio——socket的创建和连接
linux·运维·服务器·c++·网络协议
满昕欢喜38 分钟前
SQL Server的概述与安装
数据库·sqlserver
2501_9307077842 分钟前
使用C#代码在 Excel 中为数据透视表添加筛选器
数据库·数据挖掘·数据分析
剑神一笑1 小时前
Linux tar 归档命令深度解析:从文件打包到压缩算法的完整实现
linux·运维·服务器