leetcode151-反转字符串中的单词

leetcode 151

思路

时间复杂度:O(n) 空间复杂度:O(n)

首先将字符串转为数组,这样可以方便进行操作,然后定义一个新的数组来存放从后到前的单词,由于arr中转换以后可能会出现有些项是空格的情况,所以需要判断如果是空格那么需要跳过,我们最终的结果result需要是中间没有其他多余空格的,最终将result数组转为字符串返回

实现

js 复制代码
var reverseWords = function (s) {
    let arr = s.split(' ');
    let result = [];
    for (let i = arr.length - 1;i >= 0; i--) {
        if(arr[i].trim()){
            result.push(arr[i])
        }
    }
    return result.join(' ')
};

方法2

相关推荐
疯狂打码的少年9 小时前
【数据结构】串(字符串):基本概念与存储
数据结构·笔记
致Great10 小时前
科研人的 AI,不该只回答问题:我用字节TraeWork 跑了一遍真实研究任务
算法
纵有疾風起10 小时前
线性表的定义与基本操作 — 从逻辑结构到 ADT 接口
数据结构·算法·408·线性表·adt
wuyk55511 小时前
1.栈:后进先出的线性数据结构
c语言·数据结构·stm32·单片机
测试_AI_一辰11 小时前
AI Agent 评测最隐蔽的坑-记忆
人工智能·算法·ai·自动化·ai编程
lucas_AI11 小时前
给YOLO检测器插 LoRA,'插对地方'比'插什么'更要命
人工智能·算法
LuminousCPP12 小时前
数据结构-时间与复杂度|时间/空间复杂度 + 两道力扣练习 + 二分查找复盘
c语言·数据结构·经验分享·算法·leetcode
Nil20812 小时前
leetcode 三数之和
数据结构·算法·leetcode
小小龙学IT12 小时前
C++ std::vector 底层实现深度解析:内存布局、扩容策略、移动语义与迭代器失效
开发语言·c++·算法
noipp12 小时前
推荐题目:洛谷 P16689 出征
java·开发语言·数据结构·c++·算法·洛谷·luogu