【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(' ')// 使用单一空格连接成结果返回
};
相关推荐
wdfk_prog18 小时前
Wi-Fi Direct教程 01:在 Ubuntu 搭建双 mac80211_hwsim + wpa_supplicant 2.12
linux·运维·服务器·ubuntu·ros·wifi-direct
白起那么早18 小时前
idea 插件-把数据库的表画出来
数据库·后端·intellij idea
fengkai454518 小时前
十一、MySQL 第 1‑3 章
运维·数据库·mysql
Lancker18 小时前
记一次 Druid 连接 MySQL 报 Communications link failure 的排查过程
数据库·mysql·adb
Vcaker19 小时前
Linux学习36-k8s集群升级及kube-vip高可用
linux·运维·学习
adinnet202619 小时前
多轮对话与上下文压缩:追问时模型怎么记住前面说的
数据库·microsoft
skywalk816319 小时前
Deepseek harness的4种模式 配置文件内容
linux·人工智能·ubuntu·deepseek·harness
Navigator_Z19 小时前
LeetCode //C - 1269. Number of Ways to Stay in the Same Place After Some Steps
c语言·算法·leetcode
JosieBook19 小时前
【数据库】MySQL 实战精通系列 · 第11篇:Redis 缓存与 MySQL 一致性实战
数据库·mysql·缓存
沫璃染墨20 小时前
《从零入门Linux系统篇(五十一):线程篇·四——pthread线程库详解:从线程创建到终止与分离》
linux·运维·服务器·开发语言·c++·系统架构·线程