python3翻转字符串里的单词

python3翻转字符串里的单词

151. 翻转字符串里的单词

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

说明:

无空格字符构成一个 单词 。
输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。

示例 1:

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

输入:” hello world! “
输出:“world! hello”
解释:输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
示例 3:

输入:“a good example”
输出:“example good a”
解释:如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。
示例 4:

输入:s = ” Bob Loves Alice “
输出:“Alice Loves Bob”
示例 5:

输入:s = “Alice does not even like bob”
输出:“bob like even not does Alice”

思路1:
传统思路:先使用strip()函数将首尾空格去掉;特别注意,中间的空格可能不止一个。采用双指针,从后遍历字符串,遇到的第一个空格,回退一个到j的位置就会取出一个字符串。
在这里插入图片描述
在这里插入图片描述

class Solution:
    def reverseWords(self, s: str) -> str:
        s = s.strip()
        i = len(s)-1
        j = i+1
        resverse = []
        while i>=0:
            while i >= 0 and s[i] != ' ': i -= 1 
            resverse.append(s[i + 1: j]) 
            while s[i] == ' ': i -= 1 
            j = i+1
        return ' '.join(resverse).strip()

思路2:
在这里插入图片描述

class Solution:
    def reverseWords(self, s: str) -> str:
        s = s.strip()
        s = s.split()
        s.reverse()
        return ' '.join(s)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100102.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Angularjs MVC

    Angularjs MVC

    2022年3月12日
  • 【我的OpenGL学习进阶之旅】什么是TGA文件以及如何打开TGA文件?「建议收藏」

    什么是TGA文件?具有TGA文件扩展名的文件是Truevision图形适配器图像文件。它也很流行是Targa图形文件,TruevisionTGA或只是TARGA,这意味着Truevision高级栅格图形适配器。您可能会发现普通图像查看器无法打开TGA苍蝇。“Targa图形”格式的图像可能以原始格式或压缩格式存储,这对于图标,线条图和其他简单图像可能是首选。TGA格式通常与视频游戏中使用的图像文件有关。TGA文件可以是未压缩的原始文件,也可以是无损的RLE压缩文件。这种压缩方式对于图标和线条

    2022年4月8日
  • 15个权威的PLC学习资料下载地址 (西门子、三菱、欧姆龙)

    15个权威的PLC学习资料下载地址 (西门子、三菱、欧姆龙)论坛贴吧及工作中经常有人问PLC的学习资料去哪里下载,比如博图TIA软件哪里下载,怎么安装。三菱PLC的编程软件哪里下载等等,一般得到的回复是去官网啊,可是去官网下载界面也不太好找。今天整理了一下,把西门子、三菱、欧姆龙的官方下载地址直接贴出来供大家直接使用。比如下文第一个链接西门子资料下载中心,不仅包括西门子相关编程软件的下载,还包括常见系列的编程手册、产品目录、新手必读等等。西门子…

    2022年10月18日
  • vue中上传文件_vue实现文件上传和下载

    vue中上传文件_vue实现文件上传和下载列子一:简单的上传文件,先把文件上传到input框只展示文件名,不走接口,之后点击确定上传按钮统一上传<template> <div> <Col> <FormItemlabel=”上传文件:”prop=”plugin_name”> <Inputv-model=”setValidate.plugin_name”placeholder=”请选择上传文件(.ZIP格式)”></Input> </Fo

    2022年8月31日
  • Maven 打包命令遇到的坑

    Maven 打包命令遇到的坑今天做定时任务的时候发现定时任务程序中的resources文件夹下面没有被打进去,导致部署在测试环境启动读取不到配置文件,本以为是框架的问题,原来是自己的问题。根据大神对打包的反编译才发现resouces里面的namespace配置根本没有被打包进去。自以为是的是打包进去了,浪费了一定的时间。那idea下的maven命令为什么是这样呢Cleancompileinstallpac

    2022年5月2日
  • 自定义控件_HTML5控件

    自定义控件_HTML5控件自定义控件

    2022年4月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号