【LeetCode】反转字符串中的单词

目录

  • 一、题目
  • 二、解法
  • 完整代码


一、题目

给你一个字符串 s ,请你反转字符串中 单词 的顺序。

单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。

返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。

注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。

示例 1:

输入:s = “the sky is blue”
输出:“blue is sky the”
示例 2:

输入:s = " hello world "
输出:“world hello”
解释:反转后的字符串中不能存在前导空格和尾随空格。
示例 3:

输入:s = “a good example”
输出:“example good a”
解释:如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。

提示:

1 <= s.length <= 104
s 包含英文大小写字母、数字和空格 ’ ’
s 中 至少存在一个 单词

进阶:如果字符串在你使用的编程语言中是一种可变数据类型,请尝试使用 O(1) 额外空间复杂度的 原地 解法。


二、解法

经典双指针问题。
既然是倒序放置单词,那么就可以利用双指针, 从后面开始找单词,找到一个单词,就拼接到答案res中,最后将res返回就好了
从后往前,需要注意的就是边界以及对空格的处理


完整代码

class Solution:def reverseWords(self, s: str) -> str:res = ""n = len(s)right_side = n - 1while right_side >= 0:end = right_sidewhile end >= 0 and s[end] == ' ':end -= 1start = endwhile start >= 0 and s[start] != ' ':start -= 1if start == end:breakword = s[start + 1: end + 1]res += " " + wordright_side = startreturn res[1 : ]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/38739.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读hugging face的daily paper随笔

hugging face’s daily paper 2024.06.29 OMG-LLaVA 像素级视觉理解、推理。 实现了image-level、object-level、pixel-level的推理和理解。 Step-DPO LLM长链推理的step-wise偏好优化&#xff0c;提高LLM的数学推理能力。 MUMU 引导多模态的图像生成&#xff0c;从多模…

海康视频播放,包含h5和web插件

自行下载 海康开放平台 demo 都写得很清楚&#xff0c;不多描述 1.视频web插件 vue2写法&#xff0c;公共vue文件写法&#xff0c;调用文件即可 开始时需要以下配置&#xff0c;不知道的找对接平台数据的人&#xff0c;必须要&#xff0c;否则播不了 getParameterData: {po…

万字总结随机森林原理、核心参数以及调优思路

万字总结随机森林原理、核心参数以及调优思路 在机器学习的世界里&#xff0c;随机森林&#xff08;Random Forest, RF&#xff09;以其强大的预测能力和对数据集的鲁棒性而备受青睐。作为一种集成学习方法&#xff0c;随机森林通过构建多个决策树并将它们的预测结果进行汇总&…

[Day 20] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

AI在醫療領域的創新應用 隨著科技的快速發展&#xff0c;人工智能&#xff08;AI&#xff09;在各行各業的應用越來越廣泛&#xff0c;醫療領域也不例外。AI技術在醫療中的應用不僅提高了診斷的準確性&#xff0c;還改善了病患的治療效果&#xff0c;優化了醫療資源的配置。本…

暴雨来袭,陈赫家变“水帘洞”网友:赫哥滴滴打船吗?

在魔都上海&#xff0c;一场突如其来的暴雨 不仅让街道变成了河流&#xff0c;还悄悄上演了一场现实版的“水帘洞”奇遇 而这场奇遇的主角&#xff0c;竟然是喜剧界的明星——陈赫&#xff01; 这天&#xff0c;乌云密布&#xff0c;电闪雷鸣 魔都的天空仿佛被捅了个窟窿 雨…

吴恩达《LangChain for LLM Application Development》课程笔记

目录 1. 前言 2. 课程笔记 2.1. 模型、提示和解析器 2.2. LLM记忆&#xff0c;上下文管理 2.3. 链式操作 2.4. 文档问答 2.4.1. stuff 方法 2.4.2. 其他方法 2.5. LLM应用评估 2.6. 代理 2.6.1. 预定义工具 2.6.2. 自定义工具 代码资源&#xff1a; 1. 前言 LangC…

文心一言 VS 讯飞星火 VS chatgpt (293)-- 算法导论21.4 2题

二、证明&#xff1a;每个结点的秩最多为 ⌊lgm⌋ 。如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; 在数据结构和算法中&#xff0c;当我们谈论“结点的秩”时&#xff0c;这通常与某些特定的数据结构&#xff08;如B树或B树&#xff09;相关&#xff0c;其中每…

SSH特性|组成|SSH是什么?

SSH&#xff0c;全称为Secure Shell&#xff0c;是由Internet Engineering Task Force (IETF)的网络工作小组制定的一种网络安全协议。它旨在为网络服务提供安全的远程登录和其他网络服务&#xff0c;如文件传输&#xff0c;端口转发等&#xff0c;以保护数据的机密性和完整性。…

代码随想录算法训练营第40天| 518. 零钱兑换 II、 377. 组合总和 Ⅳ、70. 爬楼梯 (进阶)

518. 零钱兑换 II 题目链接&#xff1a;518. 零钱兑换 II 文档讲解&#xff1a;代码随想录 状态&#xff1a;不会 思路&#xff1a; 和494.目标和类似&#xff0c;这题属于组合问题&#xff0c;当我们有一个硬币coin时&#xff0c;对于每个金额j&#xff0c;通过添加这个硬币&a…

从零学习python打卡笔记 第一天

小学生都开始学python了&#xff0c;你还有什么资格不学&#xff1f; 打卡笔记的python版本是3.12.4 一、python能干什么工作&#xff1f; web全栈工程师、大数据分析工程师、爬虫工程师、人工智能工程师、游戏开发工程师、自动化测试工程师、搜索引擎工程师、自动化运维工程师…

RSA加密算法工具类

这里写自定义目录标题 1. RSA加密算法介绍加密和签名**划重点&#xff1a;签名的作用不是防泄密&#xff0c;而是防篡改****对信件内容进行加密****对信息内容追加签名** 为什么在使用非对称加密算法&#xff08;如 RSA&#xff09;时&#xff0c;正确的使用方法是公钥加密&…

使用Redisson实现分布式锁详解

摘要 在分布式系统中&#xff0c;保证多个进程或线程对共享资源的互斥访问是非常重要的。本文将介绍如何使用Redisson库来实现分布式锁&#xff0c;以及它的优势和使用场景。 1. 分布式锁的基本概念 在分布式系统中&#xff0c;由于多个节点可能同时访问同一个资源&#xff…

python 的全局列表通过append到别的列表,被append的列表修改元素的值,原来列表元素也跟着改变。

问题&#xff1a; qq [[4],[8]] def test(aa):bb []bb.append(aa[0])bb[0][0] - 2 test(qq) print(qq) [[2],[8]]原因&#xff1a; append 是将存储位置赋值给列表&#xff0c;列表改变意味着原来的列表也要改变。 append() 方法用于在列表末尾添加新的对象。 语法 append(…

插值查找 python

插值查找&#xff0c;也被称为插值搜索&#xff0c;是一种在有序数组中查找某一特定元素的搜索算法。它是对二分查找的一种改进&#xff0c;通过计算元素在数组中的近似位置来减少比较次数&#xff0c;从而提高搜索效率。 原理&#xff1a; 插值查找的基本思想是&#xff0c;根…

Scala的宝藏库:探索常用的第三方库及其应用

Scala的宝藏库&#xff1a;探索常用的第三方库及其应用 Scala&#xff0c;作为一种多范式的编程语言&#xff0c;不仅拥有强大的内置功能&#xff0c;还得益于其丰富的第三方库生态系统。这些库扩展了Scala的能力&#xff0c;帮助开发者在不同领域构建高效、可维护的应用程序。…

平安养老险陕西分公司参加2024上半年省级单位驻富平帮扶团联席会

6月28日&#xff0c;平安养老险陕西分公司工会副主席武媛携驻村工作队赴富平县庄里镇永安村参加2024上半年度省级单位驻富平帮扶团联席会议。 会议由省委金融办副主任、省委金融工委委员李嘉辉及省委金融办选派挂职干部、富平县副县长席玮共同主持。 会上&#xff0c;席玮县长带…

【vue avue】初始化代码 和 增删改查

这里是目录! 一、初始化页面1. 有 avue ,js 补 option2.显隐列二、弹窗1. 新增 - 表单1.1 必填1.2 清除 rules 提示2.编辑三、启用、禁用、删除1.1 菜单左上角1.2 操作栏删除一、初始化页面 Code<template> <basic-container><avue-crud:table-loading="…

Java类的加载过程

加载&#xff08;Loading&#xff09;&#xff1a; 这是类加载过程的第一个阶段。在这个阶段&#xff0c;Java 虚拟机&#xff08;JVM&#xff09;找到并读取类的二进制数据&#xff0c;通常是 .class 文件。这些数据从文件系统、网络、zip 包、jar 文件或其他形式的二进制数据…

吴恩达机器学习 第三课 week2 推荐算法(下)

目录 01 学习目标 02 基于内容的过滤算法 03 实现“电影推荐系统” 3.1 问题描述 3.2 算法实现 04 大项目&#xff08;数据很大&#xff09;的推荐方法※ 4.1 方法原理 4.2 实施示例 05 总结 01 学习目标 &#xff08;1&#xff09;理解基于内容的过滤算法&#xff08…