当前位置: 首页 > news >正文

LeetCode - #186 翻转字符串里的单词 II(会员题)

在这里插入图片描述
在这里插入图片描述

网罗开发 (小红书、快手、视频号同名)

  大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。

图书作者:《ESP32-C3 物联网工程开发实战》
图书作者:《SwiftUI 入门,进阶与实战》
超级个体:COC上海社区主理人
特约讲师:大学讲师,谷歌亚马逊分享嘉宾
科技博主:极星会首批签约作者

文章目录

    • 前言
    • 1. 描述
    • 2. 示例
    • 3. 答案
    • 关于我们

前言

本题为 LeetCode 的高级会员解锁题

我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。

LeetCode 算法到目前我们已经更新到 179 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。

不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。

难度水平:中等

1. 描述

给定一个字符串,逐个翻转字符串中的每个单词。

2. 示例

示例 1

输入: ["t","h","e"," ","s","k","y"," ","i","s"," ","b","l","u","e"]
输出: ["b","l","u","e"," ","i","s"," ","s","k","y"," ","t","h","e"]

注意:

  • 单词的定义是不包含空格的一系列字符
  • 输入字符串中不会包含前置或尾随的空格
  • 单词与单词之间永远是以单个空格隔开的

进阶: 使用 O(1) 额外空间复杂度的原地解法。

3. 答案

 class ReverseWordsStringII {func reverseWords(_ str: inout [Character]) {var last = 0reverse(&str, 0, str.count - 1)for i in 0..<str.count {if i + 1 == str.count || (str[i] != " " && str[i + 1] == " ") {reverse(&str, last, i)last = i + 2}}}fileprivate func reverse<T>(_ array: inout [T], _ startIdx: Int, _ endIdx: Int) {var (left, right) = (startIdx, endIdx)while left < right {(array[left], array[right]) = (array[right], array[left])left += 1right -= 1}}
}
  • 主要思想:把整个字符串倒过来,然后把每个单词倒过来。
  • 时间复杂度: O(n)
  • 空间复杂度: O(1)

该算法题解的仓库:LeetCode-Swift

点击前往 LeetCode 练习

关于我们

我们是由 Swift 爱好者共同维护,我们会分享以 Swift 实战、SwiftUI、Swift 基础为核心的技术内容,也整理收集优秀的学习资料。

http://www.lryc.cn/news/519078.html

相关文章:

  • Kafka核心参数与使用02
  • Three.js 渲染技术:打造逼真3D体验的幕后功臣
  • QTcpSocket 如何统计在线时长
  • 【Altium】AD使用智能粘贴功能把多个网络标签改成端口
  • .NET 终止或结束进程
  • R.swift库的详细用法
  • Js的回调函数
  • flutter 独立开发之笔记
  • PHP的扩展Imagick的安装
  • 【git】在服务器使用docker设置了一个gogs服务器,访问和现实都不理想
  • 多台PC共用同一套鼠标键盘
  • 大语言模型是如何训练出来的?
  • Vue2与Vue3在项目开发中的选择:深入探讨
  • Web枚举:深入了解目标应用系统
  • RabbitMQ介绍与使用
  • 从0到机器视觉工程师(六):配置OpenCV和Qt环境
  • 计算机毕业设计Python机器学习农作物健康识别系统 人工智能 图像识别 机器学习 大数据毕业设计 算法
  • (Arxiv-2023)LORA-FA:针对大型语言模型微调的内存高效低秩自适应
  • huggingface/bert/transformer的模型默认下载路径以及自定义路径
  • 从 0 开始上手 Solana 智能合约
  • (六)CAN总线通讯
  • 新一代智能工控系统网络安全合规解决方案
  • Vivado中Tri_mode_ethernet_mac的时序约束、分析、调整——(一)时序约束的基本概念
  • 车载网络:现代汽车的数字心跳
  • python基础和redis
  • w~自动驾驶~合集16
  • 最长的指定瑕疵度的元音子串
  • 每日算法Day15【组合、组合总和III、电话号码的字母组合】
  • C语言教程——指针进阶(2)
  • 调和级数不为整数的证明