【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(' ')// 使用单一空格连接成结果返回
};
相关推荐
TDengine (老段)6 分钟前
TDengine IDMP 背后的技术三问:目录、标准与情景
大数据·数据库·物联网·算法·时序数据库·iot·tdengine
LLLLYYYRRRRRTT12 分钟前
12. SELinux 加固 Linux 安全
linux·运维·安全
flashlight_hi16 分钟前
LeetCode 分类刷题:2824. 统计和小于目标的下标对数目
javascript·数据结构·算法·leetcode
爱学习的小熊猫_39 分钟前
在Linux上部署RabbitMQ、Redis、ElasticSearch
linux·redis·elasticsearch·中间件·rabbitmq
ID_180079054731 小时前
python采集拍立淘按图搜索API接口,json数据参考
大数据·数据库·python·json
拾心211 小时前
【运维进阶】DHCP服务配置和DNS域名解析
linux·运维·服务器
不辉放弃1 小时前
阿里云 Flink
数据库·大数据开发·阿里云flink
陈陈爱java2 小时前
实习文档背诵
linux·服务器·windows
代码改变世界ctw2 小时前
TrustZone技术详解————这篇是AI写的包括图
linux
Johny_Zhao2 小时前
SeaTunnel的搭建部署以及测试
linux·网络·网络安全·信息安全·kubernetes·云计算·containerd·devops·seatunnel·系统运维